如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读
一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。
很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员
书单,不过都是推荐数 Top 10的书。其实除了前 10 本之外,推荐数前 30 左右的书籍都算
经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数
排列。
优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就
是我们本能所说的 编写整洁的代码 。这本书有 50 页在谈论代码布局。 —— Joel Spolsky
对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并
对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。或许他们还是在校生,
但对要自己做什么,还感觉不是很安全。就像草图和架构之间的差别。虽然你在学校课堂上
学到的是画图,你也可以画的很漂亮,但如果你觉得你不太知道从哪儿下手,如果某人要你
独自画一个 P2P 的音乐交换网络图,那这本书就适合你了。—— Joel
《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细
节。其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心
理层面。其他书籍则处理算法。这些书都有自己所属的位置。
然而《计算机程序的构造和解释》与这些不同。这是一本会启发你的书,它会燃起你编
写出色程序的热情;它还将教会你认识并欣赏美;它会让你有种敬畏,让你难以抑制地渴望
学习更多的东西。其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一
名程序员。
同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解
释器和编译器。
一些人认为此书不适合新手。个人认为,虽然我并不完全认同要有一些编程经验才能读
此书,但我还是一定推荐给初学者。毕竟这本书是写给著名的6.001,是麻省理工学院的入
门编程课程。此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价
是对得起这本书的。