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

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

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

inquestion:this "Code Complete"

当前回答

这是每一个程序员必须读的书:Abraham Silberschatz的数据库系统概念。

替代文本 http://images.barnesandnoble.com/images/14870000/14878097.JPG

其他回答

《餐巾纸的背面》,丹·罗伦著。

餐巾的背面http://www.coverbrowser.com/image/bestsellers-2008/302-7.jpg

一本关于视觉思维技巧的好书。现在还有一个扩展版。我不能谈论这个版本,因为我不拥有它;然而。

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

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

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

我想到了三本书。

《Unix编程的艺术》作者:Eric S. Raymond。 Rick Cook编译的魔法。 Donald Knuth的《计算机编程的艺术》。

我也喜欢保罗·格雷厄姆的作品。

Martin Fowler的《重构:改进现有代码的设计》已经被列出。但我会详细说明它对我的影响。

整本书的本质是关于如何构造代码,以便人类更容易阅读和理解。它强烈地告诉我,我写的代码是为了让我的同事和后继者消费,并可能从中学到一些好的东西。它激励我有意识地以一种方式编程,让人们赞美我的名字,而不是诅咒我,直到永远。