书评:程序员的思维修炼

【本文摘自InfoQ中文站上《阅读者(三):程序员的思维修炼》我写的那部分书评,欲一窥该文全貌者,请访问原文。】

因为喜欢Andy Hunt的写作风格,加上之前的《程序员修炼之道》口碑相当不错,故而在书单中选择了这本《程序员的思维修炼》,看看他这回又能给我带来怎样的惊喜。结果怎样呢?且听我细细表来。

说句实话,与玄乎的中文名称相比,它的英文名《Pragmatic Thinking and Learning》更能体现出本书的主旨:提高读者的思考和学习能力。在这样的基调之下,对于那些想从中了解最新开发方法、编程思想、工具使用等知识的读 者来讲,失望恐怕是在所难免的。可要是你没有因为失望而愤怒地丢掉本书,那在看完译者序和目录之后,担保你会有一种“中彩票”的感觉。

说得这样好,它到底讲了些什么呢?我先来谈谈自己的总体看法。

思考和学习能力是优秀软件从业者不可或缺的能力,对于大多数人来讲,这种能力不是与生俱来的,它需要锻炼和开发,也就是书名包含的“修炼”之意。Andy在这本书中,以其丰富的知识展示了这些能力的背景知识和具体的实际修炼技巧。虽然,大多数知识之于我是头次接触,可在Andy的妙笔之下,一切又让人觉得是那样的亲切熟悉。如果把这本200来页的书硬要说成是提升软件从业者自身能力的“百科全书”,你肯定会觉得我是“书托”。但要说它是一个更大知识体系的地图或者是打开另一扇知识大门的钥匙,实不为过。

为什么要提高这些能力?“要成为专家。”,一个声音在我的心中喊叫道。没错,这就是Andy在本书第二章的主要内容,在这一章中,他告诉了我德雷福斯模型,从中可以了解从新手到专家历经的阶段:

  • 新手
  • 高级新手
  • 胜任者
  • 精通者
  • 专家

书中对于新手和专家的评述让人印象深刻:

  • 新手需要指令清单
  • 专家凭直觉工作

第一句话足以说明了一件事:对于新手,先不要告诉他们什么大道理,只要告诉他们如何做就行了。因为讲了也白讲,由于缺少经验的支撑,你说的肺腑之言往往会被当成耳边风。如果带过新人,相信你肯定碰到过这样的情况。而第二句话,不由得让我想起了武侠小说中剑客追求的最高境界:人剑合一。书中所举的若干 例子在现实生活中也并不少见。还记得中学课本中的卖油翁么?

在此之后的篇章可以粗浅地分成“Thinking”和“Learning”两大部分,完全体现了英文书名的主旨,这也是让我觉得英文书名比中文书名 “实在”的原因。从这些篇章中,你可以快速地了解大脑的工作模式、如何开发和调试大脑、高效学习和积累经验的方法,以及如何控制你的注意力。光看这些内容,你可能并没有什么特别的感觉,但我想如果列出我喜欢的一些内容点滴,或许能帮助你进一步地了解:

  • 左右脑模式
  • 随时记录自己的想法
  • 隐喻
  • 晨写技术
  • 了解认知偏见
  • SMART原则
  • 知识投资计划
  • 学习小组
  • 思维导图
  • SQR3读书法
  • 冥想
  • GTD
  • ……

请各位原谅,要是能领悟得更多的话,我便可以写出更多内容来让大家看到本书的全貌了。可是,这就是一本无法快速阅读了事的书,相比起之前作者的《程序员修炼之道》,本书的内容更加抽象。不再是我们能够很快熟悉和掌握的软件设计原则、经验教训、工具使用等内容,而更接近于如何认识自我,开发自身软实力的课本。之所以称其为课本,不仅仅是因为Andy在本书中介绍了大量可直接实际操作的技巧,而且还因为书中专门设置了“实践单元”指导你的实际演练,避免了陷入类似书籍泛泛而谈的陷阱。

尽管本书涉及的知识面很广,但由于作者和编者很体贴的在书中列出了不少脚注,大大帮助了这些内容的理解。同时,本书印刷精美,使得阅读本身也成了一种享受。在阅读本书的过程中,我尤其喜欢出现第152页中“聪明人和蠢人”部分的两处段首语: 

我认为大多数人都比自己所想象的更有能力。……

……

但是暂且不论我们有哪些具体的技能缺陷,通常我们都是惊人的学习机器…… 

这也不由得让我想起宋代茶陵郁山主失足跌入河中悟道后说的那句偈语:

我有明珠一颗,久被尘劳关锁。

今朝尘尽光生,照破山河万朵。

正如我前面所说,把本书作为一把钥匙,由它开启追求我们自身更高技艺的大门,为迎接未来艰巨挑战做好准备。祝各位修炼愉快!

By foxgem - Posted on 13 一月 2011