如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
关于内存,每个程序员都应该知道的事
由Ulrich Drepper -解释了现代内存子系统的结构,并建议如何有效地利用它们。
PS:对不起,如果我重复发布。
其他回答
Peter Norton为IBM PC编写的汇编语言书
我在电脑(DOS)前度过了无数个夜晚,探索未知的世界:-D
实际上,有两本书比较突出。第一个是“代码完成”。尽管已经过时了,这仍然是一本非常有用的书,关于过早优化的危险的章节本身就值回这本书的价格。
第二本书是《日常事物的心理学》(我想现在叫做《日常事物的设计》),这本书改变了我在设计应用程序时对用户界面的思考方式。这让我更加关注用户。
虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。
当我刚开始的时候,有汤姆·斯旺的《掌握涡轮帕斯卡尔》。这本书没有什么特别深奥的东西。它清晰简洁,有可用的例子。基于这些知识,我开始了15年以上的软件开发生涯。
Grady Booch的《面向对象分析和应用程序设计》。我很久以前读过这篇文章,它告诉我可以有一种开发面向对象软件的方法论。从那以后,许多其他的书对我产生了影响,但这本书让我开始了。