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

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

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

inquestion:this "Code Complete"

当前回答

计算机科学家的离散数学http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

《计算机科学家的离散数学》作者J.K. Truss。

虽然这并没有教你编程,但它教会了你每个程序员都应该知道的基本数学。你可能还记得大学里的这些东西,但实际上,学习谓词逻辑会提高你的编程技能,如果你想用集合编程,你需要学习集合论。

这里确实有很多有趣的信息,可以让你从不同的角度思考问题。它很方便,只是偶尔拿起来学习一些新东西。

其他回答

这不是一本严格意义上的开发书籍,我相信我在其他地方提到过它,但我真的认为所有开发人员都应该读这本书,从php到Java再到汇编开发人员。

Code

它汇集了计算机的底层原理,为什么不应该浪费内存,以及计算史上一些更有趣的部分。这是对计算机及其内容的介绍。它让我对低级编程产生了极大的热情,并且比其他任何计算机都更能帮助我理解指针和内存。

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

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

Kernighan和Pike的Unix编程环境。

与其他任何一本书相比,它教会了我构建易于测试的小工具的好处,这些工具可以组合起来做大事情。

Steve MacGuire的《编写可靠的代码:微软开发无错误C程序的技术(微软编程系列)》。

有趣的是,这里提到的书中有很大一部分是C/ c++的书。

我想我们可以每隔几周问一次同样的问题,把所有提到“代码完整”或“实用主义程序员”的人都提升一下。

并不是说这有什么问题:-)