编程高手箴言Details

书名:编程高手箴言
出版社: 电子工业出版社
出版日期:2003年10月
作者:梁肇新

Review

我大概是2004-2005年左右看的这本书,此书刚一出我就毫不犹豫的买回来了,这本书绝对值得收藏。也许梁大师看到我说这句话一定会反驳我,说此书已经过时啦,呵呵。“过时”这个词看怎么解释了,也许里面的技术过时了,但是里面反映出来的事却会成为历史,永远不会过时。

这本书之所以值得收藏,是因为它记载了曾经风靡全中国的软件:豪杰超级解霸。从书中可以看出梁大师当年开发豪杰超级解霸的辛酸历程,以及所用到的技术。这个软件影响了70后~80初的一代人。相信这个年龄段使用过电脑的人,没有不知道豪杰超级解霸的。但由于国内的环境所限,盗版猖獗,所以估计梁大师也没赚到大钱。如果梁大师出生在国外,也许会把豪杰做得更大。

在2009中国软件技术英雄会上海站,我遇到了梁大师,可谓是面对面的交谈,虽然可能到现在梁大师也不知道我是谁。当时让我感到非常差异的是,听说梁大师最近两年隐居,研究起风水了。并且在会上,梁大师给我们做了个非常精彩的关于创业过程中“地利”问题的演讲。会间休息的时候,梁大师还给我们演示他的手机中自己写的一个计算风水的软件。

话说远了,继续说这本书。这本书里的技术我就不多说了,都是比较底层的,如CPU、内核优化等。主要说说此书第一章谈到的话题,程序员成长的六个阶段:

第一阶段:熟练地使用某种语言

据我观察,国内60%的程序员都停留在这个阶段吧。能熟练掌握C/C++的就不是很多,精通的就更少了。有几个人敢说自己可以清楚的知道STL的实现内幕的?大多都是只会if else和for,甚至还在用goto…反正是可以将就写程序了。

第二阶段:精通某种平台接口(例如Win32 API)

对于我来说,大学的时候只会用C/C++写console程序,自学过部分Win32 API。也就是从工作之后吧,才开始用MFC。连续用C++/MFC写了2年多的程序,才可以说是熟练运用Win32 API和MFC。又过了2年多,在调试MFC程序的过程中,看了一些MFC内部的实现代码,至此可算是略有精通吧。嘿嘿,至少对梁大师括号中的内容应该算是精通了。

第三阶段:了解某个平台底层

这个具体有多底层书中没说,之说算是有了初级内功。

第四阶段:在某个平台上进行深层次的开发

这个比较遗憾,一直没有机会进行深层次的开发。梁大师说,此时语言只是工具,已经不重要了。对于我,我是在Windows和Linux上都有开发,但没有一个开发的比较深层次。

第五阶段:从全局设计大的系统

只要有时间,连MS WORD都能做出来!这句话貌似很多人都说过,但是我不相信。即使在微软,能设计OFFICE架构的人恐怕也不多。国内的WORD也非金山WPS莫属了,但也不过如此,只能跟着时代跑,而不是领跑者。

第六阶段:无招胜有招

已经不关注某个具体的语言、平台了,C/C++/Java都一样,Windows/Linux都一样。

书中梁大师关于中国软件人才的评价到现在为止仍然是正确的:“而我认为,现在中国绝大多数都是初级的程序员,中级的程序员很少,高级的就更少了。”

这是为什么呢?也许还是环境问题,我们要考虑的问题太多了,毕业之后找工作,找到工作攒钱买房子,有了房子娶老婆,生孩子。而欧美呢,毕竟发达国家,吃穿住基本不用愁,所以可以用更多的时间做自己想做的事。只要自己喜欢写程序,就会写一辈子。而国内呢?工作3年开始搞管理,然后技术也就基本扔了。写程序的,永远是新入职的初级程序员…