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

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

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

inquestion:this "Code Complete"

当前回答

Grady Booch的《面向对象分析和应用程序设计》。我很久以前读过这篇文章,它告诉我可以有一种开发面向对象软件的方法论。从那以后,许多其他的书对我产生了影响,但这本书让我开始了。

其他回答

编程:编程的实践布莱恩·w·克尼根、罗布·派克著。

这里展示的风格非常棒——代码本身就能说明问题,整本书都遵循KISS原则。就我个人而言,不是我选择的语言,但仍然对我有影响。

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

Code

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

《快速发展》

从Tom Swan那里掌握c++。这是最好的一种书,它的例子简单到足以教授概念,但也足以解决其他问题。这本书可读性很强,是我上大学后读的第一本书,而且只需要读一遍。

虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。