学编程的人不能不看的好文章(3)
2008-01-05 09:37:05 来源:WEB开发网核心提示:学编程的人不能不看的好文章(3)看到这篇文章,我才发现自己计算机水平之低,学编程的人不能不看的好文章(3),低的无法想象,自以为学了一点东西,尝试着对别人讲解这个知识点并让他理解??你能讲清楚才说明你真的理解了;请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100. XX;保存好你写过的
学编程的人不能不看的好文章(3)
看到这篇文章,我才发现自己计算机水平之低,低的无法想象。自以为学了一点东西,就沾沾自喜,自得忘形了。
我也经常自豪的对别人说,我是计算机爱好者。但是今天,我发现,我的水平和真正的程序员比起来,简直是天壤之别。我也学过QB,期末考试成绩也颇不错;也自学了C语言,二级过了,成绩也比较满足。现在也看看数据结果的书,想报三级数据库。书上有介绍软件开发的章节,什么程序的时间效率、空间效率、软件生存周期……概念,我也没有很在意,只是将它看作是一项考试内容来看,而在这之前,我只是看重一个程序的代码长短,并没有多考虑它的运行效率问题。
看来我还有很多要学习的,不但是编程的方法,还有编程的思想。怎样让一个程序在代码简洁的前提下,达到运行效率最高,是我要深入思考的问题。
也许现在仍有许多人在想,CPU速度的提高,可以完全掩饰效率的低下。但是有没有想过,正是这种念头,实现在的程序体积越来越大,而速度并没有太多的提高。多少年前,计算机前辈们在640k内存的限制下,充分发掘他们天才的聪明,作出了在当时被认为是很优秀的软件。现在,在Pentium Ⅳ和512MB内存的条件下,却仍然可以看到需要一盏茶的时间才可以运行的软件。
不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做,因为CPU是为用户服务的,不是为我们
文中又提到:
那么我们国内有多少人学习计算机呢?拿我们学校来说,计算机97级4个班,98级5个班,99级10个班,2000级17个班,人多了,老师怎么办?我们学校的做法是让研究生上课,然后呢?补考一抓一大把,大把大把的补考费落入了学校的口袋,还说现在的学生素质低!真是好笑,我都不知道学校这么做是为了什么,为国内培养大量的程序员吗?学生们能真正学到计算机知识吗?好了,我敢讲,在我们学校学习编程学生和优秀程序员(注重我指的是优秀,只会编几个糟烂程序的人算不上)的比例应该是100:0.1,在这种比例下虽然我们中国学习编程的人铺天盖地,但是想想有多少个人能真正为中国软件业发展作出贡献,有多少人能真正写出优秀的程序名扬海外!
的确,看看油院有多少计算机专业的学生?计科院有多少学生?电信也算上有多少?计科是要考专业二级的,相当于什么水平我不知道,也许是国家四级以上吧。电信开的是C语言课是只要求考等考二级的,但是学电路专业的学生也应该有很高的计算机水平。
其他专业学习的一般是QB,可以说是只要把握编程思想就可以了。还有的文科是学数据库的,Foxbase或者是VF,也不要求他们成为编程高手,只要他们在以后的工作中会使用此类软件就可以了。
可是据我所知,电信的2001级第一学年第二学期期末考试通过率很低,某专业80多人只有不到40人过了。等考二级报名率低的吓人,通过的人更是廖廖无几。好象油院还没有用研究生来代课吧?那么就只有学生自己的问题了。
不是我想说别人怎样怎样,也不是我吹我自己怎样怎样。我只是想说,作为一个计算机爱好者,想要成为一个真正的程序员或者是其他方面的专家,那么他要学习的不仅仅是他的专业知识,他还要学习并真正明白自己在做什么,怎样才可以做到最好。
我想讲这么一个真实的故事:
我的同学对我说:“我到现在还不知道编程序有什么用?可以解决什么实际问题吗?给我举个例子,要不我实在是没有什么学习爱好。”我告诉他说:“最简单的例子,我可以做一个程序很方便的解出二次方程的根。”这其实真的是我能想到的可以联系实际的最简单的题目了。他说:“可是只要用高数老师让我们买的那套m……(名字我记不得了)软件就可以了,只要输入各项系数;而且还可以计算很多其他的东西。”我说:“可是这样一套程序也要有人做出来你才可以买来用啊,这就是程序员要做的了,大众需要什么样的软件,我们就给他们做出来用。一个只会用应用软件解决问题的人是不能想象一个程序员所付出的劳动的,他解决问题时的快乐也远远比不上程序员做出这个软件时的兴奋。”当我说这些话的时候,我自己也忽然意识到程序员编程序时的枯燥和完成一件作品时的欣慰。我接着说:“学好编程还可以作游戏呀,作一个属于自己的游戏,看着那么多人都在玩你的游戏,是什么样的心情?你不是喜欢《传奇》吗?也许你可以做一个超越传奇的网络游戏,全世界都玩你的游戏,够爽了吧?”他竟然说:“现在网络游戏那么多,我玩别人的游戏都玩不过来,根本不用我自己做游戏玩!”我只好说:“我们不是同一类型的人。你是享乐主义、拿来主义,我是为你们这种人服务的人!”我们同时笑了。我知道不能希望他什么。每个人都可以选择自己的路,我不能将我自己的想法强加于他,所谓“己所不欲,勿施于人”。假如每个人都要自己编程序解决问题,那么社会的发展一定要比现在慢上许多。同时也违反了发明计算机的初衷。
标 题: 学习编程的方法 不要被VC、BCB、BC、MC、TC等词汇所迷惑??他们都是集成开发环境,而我们要学的是一门语言;不要放过任何一个看上去很简单的小编程问题??他们往往并不那么简单,或者可以引伸出很多知识点;会用Visual C++,并不说明你会C++;学class并不难,template、STL、generic PRogramming也不过如此??难的是长期坚持实践和不遗余力的博览群书;假如不是天才的话,想学编程就不要想玩游戏??你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高??其实可以时刻记住:学C++是为了编游戏的;看Visual C++的书,是学不了C++语言的;把时髦的技术挂在嘴边,还不如把过时的技术记在心里;看得懂的书,请仔细看;看不懂的书,请硬着头皮看;别指望看第一遍书就能记住和把握什么??请看第二遍、第三遍;不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;请看《程序设计实践》,并严格的按照其要求去做;不要因为C和C++中有一些语法和要害字看上去相同,就认为它们的意义和作用完全一样;学习编程的秘诀是:编程,编程,再编程;记住:面向对象技术不只是C++专有的;请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;把在书中看到的有意义的例子扩充;请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;不要漏掉书中任何一个练习题??请全部做完并记录下解题思路; C++语言和C++的集成开发环境要同时学习和把握;就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写别心急,设计C++的class确实不轻易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解??你能讲清楚才说明你真的理解了;请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100. XX;保存好你写过的所有的程序??那是你最好的积累之一;多看design patterns,将他用到程序中去!注重测试用例及测试方法!多看经典牛人的书!浮躁的人轻易说:XX语言不行了,应该学YY;??是你自己不行了吧!?浮躁的人轻易问:我到底该学什么;??别问,学就对了;浮躁的人轻易问:XX有钱途吗;??建议你去抢银行;浮躁的人轻易说:我要中文版!我英文不行!??不行?学呀!浮躁的人轻易问:XX和YY哪个好;??告诉你吧,都好??只要你学就行;浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;请不要做浮躁的人;
更多精彩
赞助商链接