初学者要了然编程的根蒂真的很紧急

  • A+
所属分类:编程
初学者要明白,编程的基础真的很重要_职业技术培训_职业教育_教育专区。学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆 辙,不免有些痛心。最近在网
初学者要了然编程的根蒂真的很紧急

初学者要了然编程的根蒂真的很紧急

  初学者要明白,编程的基础真的很重要_职业技术培训_职业教育_教育专区。学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆 辙,不免有些痛心。最近在网上也看了许多前辈们的经验建议,再结合自己的学 习经历在这里谈谈基础的重要性,希望帮助大家少走些弯路。

  学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆 辙,不免有些痛心。最近在网上也看了许多前辈们的经验建议,再结合自己的学 习经历在这里谈谈基础的重要性,希望帮助大家少走些弯路。 什么是基础呢?就是要把我们大学所学的离散数学,算法与数据结构,操作系统, 计算机体系结构,编译原理等课程学好,对计算机的体系、CPU 本身、操作系 统内核、系统平台、面向对象编程、程序的性能等要有深层次的掌握。 初学者可能体会不到这些基础的重要性,学习 JSP、DonNet、MFC、VB 的朋 友甚至会对这些嗤之以鼻,但是一开始没学好基础就去学 JSP 或 DonNet 会产 生很坏的影响,而且陷入其中不能自拔。 我上大二的时候还对编程没什么概念,就上了门 C++也不知道能干什么,老师说 MFC 也不知道是什么东西,看别的同学在学就跟着学了,然后就了解 到.NET、J2EE、PHP 是什么了,就觉得软件开发就是用这些了,而上的那些专 业课又与我们学的 SQLServer 啊,CSS 啊,Ajax 啊,毫无关系,就感慨啊,还 不如回家自学去就为一个文凭吗? 还不如去培训,浪费这么多钱.于是天天基本上没去上什么课,天天就在做网站,几 个学期就做了三个网站。感觉做这些网站就是学到些技巧,没什么进步,这些技 巧就好比别人的名字,告诉你你就知道了,网上也都可以搜到。那时候就觉得 把.NET 学好就行了,搞 J2EE 的比较难,搞 API 编程就别想了,操作系统更是 望尘莫及了。后来随着学习的深入和看了网上许多前辈们的建议才对这些基础的 重要性有所体会。 虽然.NET 或 Java 的开发并不直接用到汇编,操作系统这些,但是不掌握这些基 础是有很大问题的,因为你只知其然不知其所有然,在 MFC 和.NET 里面控件一 拖什么都做好了,很方便,但是出了问题可能就解决不了,有些在网上搜都搜不 到。这就是基础没打好,不知道它的原理就不知道出错的原因。在学.NET 的时候 常会讨论那些控件该不该用别人说尽量别用也不知道为什么?不让用是因为你 在高层开发,你不知道它的原理出错了你可能解决不了,但其实是应该用的,不 然人家开发它干嘛,但要在了解它的原理后去用就会很方便。 要编写出优秀的代码同样要扎实的基础,如果数据结构和算法学的不好,怎么对 程序的性能进行优化,怎样从类库中选择合适的数据结构。如果不了解操作系统, 怎样能了解这些开发工具的原理,它们都是基于操作系统的。不了解汇编,编译 原理,怎么知道程序运行时要多长时间要多少内存,就不能编出高效的代码。 如果没有学好基础一开始就去学.NET、Java 这些越往后就会觉得越吃力,它们 涉及的技术太多了,而且不但在更新,对于三层啊,MVC、ORM 这些架构,你 只会用也不明白为什么用,就感觉心里虚,感觉没学好。而你把面向对象,软件 工程,设计模式这些基础学好了再去看这些就可以一不变应万变。 大家不要被新名词、新技术所迷惑.NET、XML 等等技术固然诱人,可是如果自 己的基础不扎实,就像是在云里雾里行走一样,只能看到眼前,不能看到更远的 地方。这些新鲜的技术掩盖了许多底层的原理,要想真正的学习技术还是走下云 端,扎扎实实的把基础知识学好,有了这些基础,要掌握那些新技术也就很容易 了。 开始编程应该先学 C/C++,系统 API 编程,因为它们更接近底层,学习他们更能 搞清楚原理。学好了 C/C++编程和基础,再去学习 MFC、.NET 这些就会比较 轻松,而且很踏实。假设学习 VB 编程需要 4 个月,学习基础课程和 VC 的程序 设计需要 1 年。那么如果你先学 VB,再来学习后者,时间不会减少,还是 1 年, 而反过来,如果先学习后者,再来学 VB,也许你只需要 1 个星期就能学得非常 熟练 。 编程就好比练功,如果学习.NET、MFC、VB 等具体的语言和工具是外功(招式), 对基础的学习就是内功,只注重招式而内功不扎实是不可能成为高手的。很多人 会认为《射雕英雄传》中马玉道长什么都没有教郭靖,马道长教的表面看来是马 步冲权实则都是内功心法,郭靖拜师洪七之后开始练习降龙十八掌凭借的就是这 深厚的内功,吞食蝮蛇宝血又加上练习了周博通传授的九阴真经和外加功夫双手 互博技之后,终于练就行走江湖的武功,由此可见马玉道长传授给了郭靖的是最 基础的,也是最重要的观念,编程也好比盖高楼,根基没打好早晚有一天会挎掉 的,而且盖得越高,损失也越惨重。这些底层知识和课本不是没有用也不是高深 的不能学,而是我们必须掌握的基础。 PS:这些底层知识和课本不是没有用也不是高深的不能学,而是我们必须掌握 的基础。这句话大家好好理解下,并不是说先生存好才能考虑去研究一些底层, 换句话说,如果你底层都不去尝试研究,那何谈发展呢?