阅读者(九):编程人生

  • 张凯峰

2011 年 4 月 6 日

话题:Java.NETRuby编程语言Book Review语言 & 开发架构

读这本书,你不能指望从大师那学到什么可以立马上手的技能,也不能奢望读完了你就站在了大师的肩膀从此可以一览无遗。相反,这是一本介绍 15 位世界级编程大师的“发迹”史的。开放的国度和文化造就了先进的 IT 业,还有他们,这些中国读者熟悉不熟悉的名字。

所以,换个角度看,阅读这样的书是一种奢侈。每位大师都被迫回答相似甚至相同的问题,迎接每位 IT 粉丝的八卦心理。

“你最早什么时候开始编程的?”,“你还记得你写的第一个有趣的程序是什么吗?”OK,他们对于这样问题的答案,无疑会让粉丝们在被头衔唬住之后,又让粉丝顶礼膜拜一番:那些事情发生得太早了,现代人几乎不知道那些答案是什么。所以访谈的开头部分,基本上对于读者来说价值不大。

这样的问题还有:“你用过 Knuth 的文学编程吗?”,或者类似“你使用怎样的工具写代码?”你会发现,但凡大师级的人物,都是自信的,甚至是偏执的,比如对于工具的选择,他们的答案多半是“我打开 Emacs 就开始写了”,或者是“我使用记事本写就好了”。看,这是大师的选择,你是不是也要这么干呢?

不一定每位大师生来就是天才,但不必怀疑他们对于程序代码一生的追求和兴趣。我们可以看到他们之于这份事业的执着,学习他们的态度。

值得推荐的是,他们对于编程语言的看法(比如 Joshua Bloch 对于 Java 发展的自信以及不满),还有对于开发过程的看法,怎么调试代码,对于优秀书籍的推荐,他们还会谈到怎样跟团队合作。

甚至你还能看到他们彼此间的争执,是的,就这本书里面。比如 Douglas Crockford 和 Brendan Eich 关于 ES4 的争论和调侃。这个世界本来就没有什么绝对的对与错,不是么?大师亦如此。

一千个读者,就会读出一千个不同的编程人生。这是一本枕边书,需要反复读、细细体味。

InfoQ 中文站原创编辑团队主编 张凯峰


这是一本让人激奋又让人颓唐的书;这是一本让人学会狂妄,或者懂得谦卑的书;这是一本让人藐视编码,或者尊重编码的书;最终,它是一本教会我们从程序中收获乐趣的书,教师是这样一批让人高山仰止的牛人们。

正是因为这些牛人们不同寻常的经历,使得我们在阅读本书时,既充满了孜孜以求的决心,又觉得那样的高度太难攀登,以至于自惭形秽。这些牛人们或者是狂狷的 geek,或者是低调谦虚的学者,如此不同的混合体在一本书中展现,仿佛万花筒一般展现程序员的不同魅力,就让我们觉得目不暇接,他们中的谁才称得上是我们心中的偶像呢?这些牛人们都是一群天资聪颖的编程高手,面对编程中的难题,他们有着绝世高手的风范,十步杀一人,千里不留行,编码对于他们而言不值一提,却又乐此不疲。他们都是程序世界中的掌控者,先驱者,阅读本书,就是阅读他们的人生征途,和他们对话,了解他们的精彩人生。

本书的作者即书中十五位软件先驱的采访者,本身就是 Common Lisp 的专家,这就使得访问者与被访者的对话是平等的,能够在深层次挖掘问题,直达问题的本质。因为是访谈,所能能够容忍不同意见,看着不同专家就同一话题表达相反的看法,就给了我们一种很新鲜的感觉。这本书不再是同一张面孔,因此可以一直读下去,而不至于厌倦或疲惫。然而,通读此书,我又发现虽然千人千面,却又都是两只眼睛,两只耳朵,一个鼻子一张嘴。书中的这些牛人们其实又都有着诸多相似的一面。他们:



1. 都是技术的狂热爱好者,并深深为自己从事的行业感到自豪;

2. 都是编程的执著爱人,至今仍不放弃编码;

3. 从小就表现出对计算机的狂热,他们精通的语言几乎都是自学;

4. 不太在意软件工程的方法学,在他们心中有着属于自己的标准;

5. 对程序之美的观感几乎一致,那就是简洁、清晰和优雅;

6. 大多数不在意设计模式,甚至轻视设计模式,对于设计,自有他们的一套主张;

7. 都认为编程并不需要了解底层,但如果能了解底层,会更好;

8. 拥有好的数学天赋,或许可以说在数学家中,他们编程编得最好,在程序员里,他们数学学得最好;

9. 更倾向于自己是工匠或艺人,然后才是科学家;

10. 他们都是一群理想主义者,又是一群实证主义者,他们讨厌政治。

这些共同要素,是否就是成为编程高手的必备呢?如果是,那么检查检查自己,看看自己能否在未来跻身他们的行列?即使不能成为像书中主角那样的牛人,比照他们,也可以审视自己选择的路,你走得快乐吗?你感到自豪吗?对于编程,你还在意吗?

InfoQ 中文站架构社区编辑 张逸

Java.NETRuby编程语言Book Review语言 & 开发架构