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

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

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

inquestion:this "Code Complete"

当前回答

如果是低级别的娱乐,我会建议迈克尔·阿布拉什的 i) -代码优化禅宗-和 ii) -图形编程黑皮书- 即使你不做任何图形编程。

其他回答

几年前,Bruce Eckel的《Thinking in c++》教会了我很多关于c++的知识,也教会了我把一个问题隔离到一个小“沙盒”中进行研究/分析的重要性。这个技巧极大地影响了我的职业生涯,经常帮助我解决自己和他人的问题。

最近,我参考了以Java方式编写的Thinking in Java。不知何故,这种风格不仅仅是简单的“例子”,而是深刻地抓住了问题的核心。

我是如此感激,以至于我几乎会买Eckel的任何东西,看都不看。

我认为《Unix编程的艺术》是一本优秀的书,作者是Eric S. Raymond这样的优秀黑客/天才,他试图让我们理解软件设计的一些原则(主要是简单性)。这本书是每一个要在Unix平台下开始一个项目的编程人员的必读之书。

弗雷德·布鲁克斯的《神秘的人月》 http://en.wikipedia.org/wiki/The_Mythical_Man-Month

用于smarties的SQL

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

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