近日有暇,偶览Robert大作《软件工程的事实与谬误》,其间提到程序员应多读“名著”,深以为然。当然,此处所谓“名著”并非《西游记》、《三国演义》、《红楼梦》等文学名著,而是程序的经典之作,如:linux、 windows之类的程序名著。
从识字开始,我们学习写作的方式是学习一篇范文,对范文进行解剖和鉴赏,同时还辅以大量的作文选,然后开始练习写作,以此循序渐进,周而复始,我们的写作水平在不知不觉中提高。
而 我们学习写程序的方式却截然相反,先学习编程语言的规则,然后写一些代码,再深研规则及相关,再写,以此循环。慢慢的,我们觉的有些东西不对劲,我们写代 码的水平遇到了瓶颈,很难突破。所以,慢慢的,我们开始转型,有搞管理的、有搞顾问的等等,不一而足,甚至开餐馆、卖衣服等不相关行业的亦不在少数。
作 为一个作家,如果你没有读过文学名著,几乎没人相信。而作为软件开发的专业人士,在没有研读过程序名著的情况下,竟然堂而然之,自称为“程序员”,这不能 不是程序员界的一个天大笑话。说的深痛一点,目前中国程序员界正有一群小学生写着小学生作文,而全中国的程序员还以为自己很聪明,偶然看到一个中学生的作 文,竟以为神迹,称该中学生为“牛人”,岂不知所谓牛人只不过中学生而已。更可笑的,中国有一那边一群小学生,自己写写日记也就罢了,但是他们不知中国传 统的“谦虚”为何解,拿着一块块小豆腐自称“小说”、“散文”,实在为中国人丢脸。针对此情况,当有程序员愤而评之,这群小学生就拿中国软件的未来等大道 理压人,如果中国的文学界是以小学生当道,不要未来也罢。
中国程序员的首要任务我以为应多读名著,再不济也应多读读作文选。读名著可以修 身养性,见识大师手笔,领会写作之道。读的名著多了,再不济,名著的写作手法,描写方式,问题处理方式也学到不少。自己写程序时,自然信手拈来,左右逢 源,程序也有模有样。慢慢修炼,自然脱离小学生水平,到中学生,直至“大学生”,甚至“程序家”也有可能。
随着开源越来越红火,开源软件 也越来越多,程序界的名著也是汗牛充栋。用C写的有linux;Delphi有VCL、开源控件等;Java更数不胜数,象Hibernate、 Struts、Spring等都是一时的大作。不难想象,如果中国合格的程序员都有名著研读经历,中国软件水平如何;如果每个计算机相关专业毕业的学生都 有名著研读经历,他们的水平亦如何。
说的伤心一点,中国的大学计算机教育是彻头彻尾的失败,计算机专业的教授们应该虚心向中、小学语文教 师学习。而中国计算机专业毕业的学生,一个个是地地道道的小学生。他们只会语法,会用几个成语(API或类),造过几个句(排序算法),好一点的写过几篇 日记。这些人就是我们中国软件业的后备力量,他们的力量太小啦,无法承受中国软件振兴之重。
中国的程序员多读名著,是我们当前工作的重中之重。我们可以想象,当研读名著成为一种风气,中国的程序员全部从小学生进化到大学生时,中国软件“赶英超美”还会远吗?