如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
近年来,它是由“Nicolai M. Josuttis”撰写的“c++标准库”。这是我的圣经。
可选文字 http://ecx.images-amazon.com/images/I/51BT5SKXTCL._SL500_AA240_.jpg
其他回答
TCP/IP指南,Charles M. Kozierok著
虽然它被描述为“百科全书式的参考”,但作为一种叙述,它是令人难以置信的可读性。
作者提供了一个非常,非常,非常好的写作,全面的,介绍网络和基础设施的网络。这是所有程序员都应该知道的。
对我来说,这是查尔斯·佩佐德(Charles Petzold)《密码》(Code)的自然续集。如果说“代码”向外行解释了计算机如何工作,那么“TCP/IP指南”解释了计算机如何连接在一起。
如果你给一个12岁的极客一份“代码”和一份“TCP/IP指南”,他们在17岁的时候就能构建出下一个谷歌。
换句话说,如果我能回到过去,告诉自己在我作为开发人员的职业生涯开始时读一本特定的书,这本书(加上代码)就会在我的清单上名列前茅。
如何像计算机科学家一样思考:用python学习
它可能不是世界上最先进的书,但它让我理解了我无法理解的编程概念,尤其是面向对象的主题。
虽然不是严格意义上的软件开发书籍,但我强烈推荐《Don’t Make me Think!》列入这个名单。
Ian Craig的《面向对象编程语言的解释》
因为它向我展示了OO比标准的c++ /Java习惯用法要多得多
虽然我同意上面的许多书都是必读的(实用程序员、神秘的人月、计算机编程艺术和SICP立刻映入我的脑海),但我想走一个稍微不同的方向,推荐Edsger Dijkstra的《编程规程》。尽管它已经有32年的历史了,但它对“可验证性设计”的强调仍然非常重要(即使“可验证性”意味着“证明”而不是“单元测试”)。