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

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

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

inquestion:this "Code Complete"

当前回答

Brian W. Kernighan和P. J. Plauger的《软件工具》对我影响最大。

其他回答

Mary和Tom Poppendieck的《精益软件开发》绝对是每个开发人员的书架上的书

精通:成功和长期实现的关键,乔治·伦纳德著

这是关于掌握任何技能需要什么样的心态,以及为什么。这本书很棒,也很容易读。

如果你在Unix/Linux/MacOS等环境下工作,你必须阅读已故W Richard Stevens的《Unix环境下的高级编程》(也被称为APUE)。如果你不知道文件描述符是如何工作的,或者什么是会话,或者当你守护自己的时候你应该做的所有事情(承认吧,你不知道),那么这本书会告诉你。

之后你会觉得有点不专业,但是如果你想在Unix环境下成为一个专业的程序员(任何语言),你需要阅读这篇文章。

Robert Sedgewick的算法书。应用程序开发人员的必读。

有多种版本(C, c++, Java)

http://www.cs.princeton.edu/~rs/

似乎没有人提到Stroustup的《c++程序设计语言》,这是每一个c++程序员都应该读的一本好书。

我还认为每个程序员和经理都应该阅读《极限编程解释:拥抱变化》这本书。书中的许多思想现在都是常识,但这本书对软件工程中追求质量给出了一个聪明而鼓舞人心的描述。

其次,我要推荐Knuth和Gang of Four,它们都是经典之作。