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

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

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

inquestion:this "Code Complete"

当前回答

可选文字 http://ecx.images-amazon.com/images/I/51E0Ojkz8iL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg

其他回答

K&R

@胡安:我了解胡安,我知道——但有些东西只有真正着手手头的任务才能学到。整天用抽象的概念说话只会让你变成一个学究。正是在抽象的运用中,我们才真正领悟到它们存在的原因。: P

提到Alan Cooper的《The are Running The Asylum》真是让人大开眼界,自从我读了那本书后,任何与我合作过的开发者都听我提到过它所支持的理念。+1

我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:

计算灾难和寻找愚蠢:二十多年的高科技营销灾难

这里有两个我没有看到提到的: 我希望我能更早地阅读Koenig和Moo的《c++反思》。正是这本书让我对OO概念产生了真正的兴趣。 我推荐Michael Abrash的《代码优化禅宗》(Zen of Code Optimization)给那些打算在90年代中期开始编程生涯的人。

c++对象模型内部,作者Stan Lippman。它让我终于“点击”了c++,在它变成“魔法”之前。当我接触一种新的编程语言时,这本书给了我一种不同的心态。

除了其他人的建议,我建议你要么买一本《SICP》,要么在网上阅读。这是我读过的为数不多的几本书之一,我觉得它极大地提高了我在软件设计方面的技能,特别是在创建良好的抽象层方面。

有一本与编程没有直接关系,但也是程序员(IMO)的好书是《具体数学》(Concrete Mathematics)。其中的大部分主题(如果不是全部的话)对程序员来说都是有用的,而且它比我迄今为止读过的任何其他数学书籍都能更好地解释问题。