代码改变世界

[转]一个老程序员体会如何学好软件编程

2009-12-02 21:59  youthjiang  阅读(697)  评论(0编辑  收藏  举报

转眼间工作已经8年,从高三开始写程序算起来,软件编程已经快13年了,顺便讲讲自己的体会。如果你要学好一门语言,那么请务必先花3个月到半年时间看懂一个比较著名的完整项目的源代码,比如:
    1.如果你想学好汇编语言,请尝试看懂CIH病毒短短1000行的程序。5 W% Y0 |! @: ?
    2.如果你想学好C语言,请尝试看懂Linux内核中IP栈的源代码,精华部分几万行代码。www.eimhe.com% y, v0 G5 k: A: F
    3.如果你想学好C++语言,并且使用的是MFC,请尝试看懂EMULE的源代码,接近十万行代码。www.eimhe.com, x, k9 b: C9 u4 p( }) w6 ^9 L& g
    4.如果你想学好C++语言,并且使用的是STL或ATL,请尝试看懂STL库、ACE库和BOOST库的部分经典源代码。
    5.如果你想学好C#语言,并且使用的是桌面编程,请尝试看懂SharpDevelop的源代码,大概十几万行代码,采用的是和Eclipse相同的插件结构。
    6.如果你想学好Python语言,请尝试看懂Eric的源代码,大概6~7万行代码。
 以上列出的都是按照时间排列的我的学习过程,其中Delphi和VB的学习由于都是学习了C++之后,很简单就没有看成熟的项目学习。这些年我使用上述每种语言(汇编除外)都编写过5万行以上的项目。
在看代码的过程中要结合书本学习,这里推荐几本书:
    1.《设计模式》。0 S* j2 E6 {: n% D5 T) K: f
    2.《模式系统》三卷。
看懂这两套书就足够了,其它世面上的书籍大概翻翻就可以了。此外,多锻炼自己MPI并行编程能力,如果没机会,多线程编程能力也可以。