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

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

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

inquestion:this "Code Complete"

当前回答

因为我是一个c#程序员,而且大多数通用的书籍都已经被提到过了,所以我想推荐Bill Wagner的书《更有效的c#》。

我认为大多数开发复合wpf应用程序的人也应该看看微软的复合应用程序指南(也称为Prism):

复合应用指南

其他回答

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

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

《人工智能编程范式:通用Lisp的案例研究》,作者Peter Norvig

我开始读它是因为我想学习通用Lisp语言。当我读到一半的时候,我意识到这是我迄今为止读过的关于编程的最好的书。

K&R

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

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

这本书并不是为初学者编写的,但是如果你正在寻找SOA设计方面的书籍,那么《SOA实践:分布式系统设计的艺术》正适合你。

@Peter Coulton——你不是读Knuth,而是研究它。

对我和我的工作来说…纯函数式数据结构非常适合用函数式语言进行思考和开发。