【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《学习编程基础的重要性》,欢迎阅读!
学习编程基础的重要性
学习编程有几年了,感受走了许多弯路,而许多的学弟学妹又在重蹈我起初的覆辙,不免有些痛心。最近在网上也看了许多前辈们的体会建议,再结合自己的学习经历在那个地点谈谈基础的重要性,期望关心大伙儿少走些弯路。
什么是基础呢?确实是要把我们大学所学的离散数学,算法与数据结构,操作系统,运算机体系结构,编译原理等课程学好,对运算机的体系、CPU本身、操作系统内核、系统平台、面向对象编程、程序的性能等要有深层次的把握。
初学者可能体会不到这些基础的重要性,学习JSP、DonNet、MFC、VB的朋友甚至会对这些嗤之以鼻,然而一开始没学好基础就去学JSP或DonNet会产生专门坏的阻碍,而且陷入其中不能自拔。
我上大二的时候还对编程没什么概念,就上了门C++也不明白能干什么,老师说MFC也不明白是什么东西,看别的同学在学asp.net就跟着学了,然后就了解到.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:这些底层知识和课本不是没有用也不是高深的不能学,而是我们必须把握的基础。这句话大伙儿好好明白得下,并不是说先生存好才能考虑去研究一些底层,换句话说,假如你底层都不去尝试研究,那何谈进展呢?
本文来源:https://www.wddqxz.cn/71851ffd33126edb6f1aff00bed5b9f3f80f720d.html