1.
应该是不需要解释的,读这本书的朋友应该知道我说的黑客值得是什么。但是还是再说一下:
我说的黑客不是基诺里维斯;也不是打着“民族大义”的旗号去“狙击”他国Dot GOV相关网站的“义士”;更不是觉得通过IM给你一个网址就能偷盗你信用卡的密码的某某学习班毕业人员。
依照RFC 1392的定义“黑客”是“一位热衷于研究系统和计算机內部运作秘密的人”——当然,泛泛的指的就是编程高手们。
2.
此书的妙处就在于TAO和ZEN这两个在中国属于两套文化体系的东西,被这个老美通过Program给联系到了一起。不过,纵观全书,这个老美约莫是不知道中国人是怎么理解TAO和ZEN的区别的。在他们看来TAO和ZEN都是玄而又玄的东西,在这点上他们是共通的。
至于TAO和ZEN和编程的关系作者用了太多的隐喻性的小故事,大部分的小故事有强烈的宗教味道,不是说故事依附于某种宗教,而是故事本身就像是一个宗教在宣传教义时的语言。
故事中总有一个大师的存在,这个大师当然就是指一个编程高手,用作者话说,就是领悟了TAO,参透了ZEN的编程高手。不过,从作者的描述来看,这些大师不修边幅,少言寡语,抵触制度,自成一家,甚至在一些提到编程风格的故事里,这些大师算法晦涩且不写注释。
这样的人好像在大家的公司里都有,但是据我浅薄的职场经验看,这些人自称“大师”而且永远只是自称。
3.
1987年成书的The Tao of Programming从软件工程学的角度来说,观念上是落伍的,我不是说现在落伍,而是那个时候就是落后与当时的软件工程学的发展的。
而从头至尾透露的是不羁的黑客文化。从作者对“大师”们外在特征和行为的描述看,这不正是“车库”年代的黑客们吗?那个把代码作为艺术品的年代,我至今也是向往的。可是时代真的变了,艺术品已经沦落为商品了。
工业化的软件不在需要“大师”了。每个程序员只是在流水线上一条指令,而我们的PM也只是一个微程序而已,每个人在这工业中的比重太小了。不需要大师的年代,是一个不需要“黑客”文化的时代。
不过,我不觉得这有多悲哀。这是必然的,软件业已经不是在生产“劳力士”手表了,而是在生产榔头,生产锯条了——软件业已经成为一个基础产业了。大量的软件需求下,工业化,标准化的“软件生产“流程才是最重要,而不是个性化、艺术化的“写代码”。
4.
我绝对不会推荐刚学编程的大学生,或者是刚从学校毕业没有实际产品级项目经验的程序员阅读此书。
对“玄而又玄”的向往可能是人的共性——如果对“玄而又玄”没有向往的话,可能这个人从本质上也不适合从事软件也——因为此共性的存在,新人如果照着此书去模仿“大师”,那我的团队就麻烦了,当然可以以“请走”作为结束,但是损失的人月又怎么办呢。
5.
在我看来,有一定经验的开发人员,对“车库”年代有向往的人,可以拿起此书:只是看看故事,幻想一下那个艺术气息浓厚的年代……