如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?

我希望这份清单是多样的,涵盖范围很广。

搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:

inquestion:this "Code Complete"

当前回答

由Stanley Lippman编写的c++对象模型内部

其他回答

虽然不是最有影响力,但值得一看的是j.m.库切的《青春》。

《芳华》的叙述者是20世纪50年代南非的一名学生,长期以来一直在策划逃离祖国:逃离母亲令人窒息的爱,逃离失败困扰着他的父亲,以及他确信即将到来的革命。学习数学、读诗、存钱,他努力确保当他来到现实世界时,无论现实世界在哪里,他都准备好充分体验生活,并将其转化为艺术。然而,最后到达伦敦时,他既没有发现诗意,也没有发现浪漫。相反,他屈服于作为一名计算机程序员的单调生活,在这种生活中,随机的、没有爱情的事情并不能让他得到解脱。由于缺乏灵感,他停止了写作。作为一个尴尬的殖民者,一个宪法的局外人,他开始了一段黑暗的朝圣之旅,在这段旅程中,他不断受到考验,不断被发现有缺陷。

青年封面http://img440.imageshack.us/img440/5140/youthgd4.jpg

厄运大师。至于对职业的动机和热爱:没有什么能比这本书中描述的更好了,真实的鼓舞人心的故事!

好吧,所以问题不是“最好的编程书是什么”,而是“如果你能告诉自己在职业生涯的开始应该读什么”……

可能是“On Lisp”和SICP,再加上一个CLRS或Udi Manber的“算法:一种创造性的方法”。

算法介绍由Udi Manber http://vig-fp.prenhall.com/bigcovers/0201120372.jpg

前两个课程将教授许多编程技术、模式,并真正打开一个人的思维,发挥他/她自己的创造力;另外两个是不同的。它们更理论化,但也非常重要,专注于设计正确有效的算法(需要大量的数学知识)。

当“优秀编程书籍”的主题出现时,我看到很多人推荐前三本书,但最后一本(Manber写的)是一本很棒的书,但很少有人知道它。真可惜!Manber专注于算法的增量发展,通过使用归纳法进行定理证明。

对我来说,《设计模式解释》为我提供了一个关于设计模式的“哦,这就是它的工作原理”的时刻,并且在向其他人教授设计模式时非常有用。

我将补充一些我在这里没有看到但对我有影响的东西:

Yourdon和Constantine,“结构化设计”。你需要知道的关于软件设计的一切都在这里,如果你愿意挖一点。 Leonard Koren,“Wabi-Sabi:艺术家,设计师,诗人和哲学家”。平衡美与实用主义的实用主义哲学。