一个大学毕业N年的菜鸟对程序设计的几点体会
一个大学毕业N年的菜鸟对程序设计的几点体会
-v0.01-2011-11-28
我从军医大毕业8年了,以前懒散学编程,最近两、三年开始认真学编程了,现在谈谈个人体会,不妥之处欢迎拍砖:
1:C++好啊,为什么叫C++呢,意思就是C的超集,不明白为什么还有人在讨论C和C++哪个好,类似于讨论中国和广东哪个好一样无聊啊。
2:C++好啊,学会了C++,很多语言就是小菜啊。只可惜C++ primer和The C++ Programming language上的习题难度真大啊,每道题最好都要力争用两种以上方法解出来,反正我是95%的时间都用来做题,调试了,那些宣称很快就能很快看完书的人,你们是不是应该好好做题啊,单看书我估计2个月就能看完了,因为我英文阅读水平也不是很差啊,但时间全用到做题上了,可怕的习题啊,更可怕的调试啊,看书不是目的啊,把上面的题目都做出来,例子都做好笔记才是最最关键的啊,可惜大多数人看书都是皮毛啊。
3:汇编真复杂啊,一本《The Art of Assembly Language》1600页,注意不是亚马逊美国上的阉割版,更不是中国的翻译版,而是网上下载版,看死我了,还要把课后习题都做出来,可恨的HLA啊,可恨啊,加上做题估计这本书飙升到3000页了,不懂汇编就不能深刻理解高级语言啊,3000页也得拼命看啊。看完以后貌似还有一套叫什么 计算机编程艺术 的书还得看,也用得是一种比较特殊的汇编,又是几千页!
4:数学真重要啊,代数、几何、微积分、离散数学、线性代数、矩阵计算、概率论、数理统计、随机过程、数论、近世代数、博弈论、具体数学、运筹学、复变函数、拓扑学、复分析、实分析、复变函数、组合数学,等等等等。妈呀,要学好编程单学习数学就得学10年啊,学精通得至少30年,我的体会是以上课程要用英文经典教程,配合习题集,力争独立完成每一道习题,当然还是英文版,呵呵貌似
华罗庚就是这么学的。负担太重了,一本stewart的微积分加上习题集3000页,一本离散数学及其应用加习题集1900页,妈啊,路漫漫啊。
5:说数学对编程无用的人,估计更是菜鸟啊,或者混淆视听啊,不多说了。我大学高等数学刚及格,那个后悔啊,真可谓年少不努力,老大徒伤悲啊。
6:学好编程,单单打好数学基础就要至少10年,为什么有些30岁的小伙子,25岁的小年轻,甚至18岁的孩子们就敢说自己精通编程了,我的苍天啊,是不是
我太笨了还是你们学习得太快了啊,我觉得除非你是布劳恩再世,一般人还是把菜鸟当老鸟了吧,老老实实学习吧。
7:不要根我说这个语言,那个语言,我觉得都是一回事啊,目前个人觉得需要掌握的语言就是C++和汇编啊,其他的可以触类旁通啊。
8:什么数据结构啊,什么算法啊,什么思想啊,那个原理啊,什么这个系统,那个体系、工程啊,统统都不重要。要想成为大牛和牲口,你需要的就是:狂数学数学再数学,狂做题做题再做题,狂纯英文纯英文再纯英文,其他真的都是浮云啊。只可惜绝大多数人一见英文数学书就头疼啊,悲剧往往是绝大多数人。
9:要想成为编程高手,不是上什么博士后,博士,硕士,本科,大专,高中,初中,小学就能搞定的,那些都没用,你需要的是时间和不浪费时间去学上面所说的,可惜绝大多数人,包括我在内,都是悲剧啊,都没做到啊。
10:最后一句:一个人的寿命太短了,时间干掉的是所有人。