如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
另外,我想提到休·达文和CJ·戴特的《第三个宣言》。如果你对理解数据感兴趣(这在程序员中似乎并不常见),这本书是必读的。当您意识到SQL有多么糟糕时,它也会让您感到悲伤,但它也会帮助您应对这种破坏。了解工具是如何损坏的,可以让您在设计时牢记这些缺陷。
其他回答
好吧,所以问题不是“最好的编程书是什么”,而是“如果你能告诉自己在职业生涯的开始应该读什么”……
可能是“On Lisp”和SICP,再加上一个CLRS或Udi Manber的“算法:一种创造性的方法”。
算法介绍由Udi Manber http://vig-fp.prenhall.com/bigcovers/0201120372.jpg
前两个课程将教授许多编程技术、模式,并真正打开一个人的思维,发挥他/她自己的创造力;另外两个是不同的。它们更理论化,但也非常重要,专注于设计正确有效的算法(需要大量的数学知识)。
当“优秀编程书籍”的主题出现时,我看到很多人推荐前三本书,但最后一本(Manber写的)是一本很棒的书,但很少有人知道它。真可惜!Manber专注于算法的增量发展,通过使用归纳法进行定理证明。
如果你在Unix/Linux/MacOS等环境下工作,你必须阅读已故W Richard Stevens的《Unix环境下的高级编程》(也被称为APUE)。如果你不知道文件描述符是如何工作的,或者什么是会话,或者当你守护自己的时候你应该做的所有事情(承认吧,你不知道),那么这本书会告诉你。
之后你会觉得有点不专业,但是如果你想在Unix环境下成为一个专业的程序员(任何语言),你需要阅读这篇文章。
应用UML和设计模式。
它帮助我设计模式,并在“UML as Sketch”的措辞中为我提供了一个对UML有意义的理由。也就是说,UML应该被用作系统的一个简要草图,这样你就不必向别人解释符号(他们要么已经知道UML,要么你给他们一本UML的书来读)。
无论您是否使用Smalltalk编程,Smalltalk最佳实践模式都是一本很好的读物。充满了会改变你编码方式的小观察;变得更好。
推荐用于Windows程序员,编程Windows