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

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

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

inquestion:this "Code Complete"

当前回答

这是一个非常丰富和有用的汇编,然而,我有点惊讶我没有在作者中遇到Andrew S. Tanenbaum。在我看来,他是最好的计算机科学教授之一,他的天才主要在于他能让计算机科学本科生理解相当难的材料。他的书(《现代操作系统》或《计算机网络》可能听起来耳熟)在我读学士学位时为我提供了计算机科学的坚实基础,我强烈推荐它们。 关于Tanenbaum的其他一些有趣的东西,证明了他的技能不仅仅是教学:一个名为MINIX的操作系统的作者——Linus在实现Linux时从它那里获得了灵感;Amoeba -分布式操作系统;无龟匿名p2p网络。

其他回答

如何用电脑解决http://g-ecx.images-amazon.com/images/G/01/ciu/31/89/d4ac024128a044c186a18010._AA207_.L.jpg - R.G.Dromey

TCP/IP指南,Charles M. Kozierok著

虽然它被描述为“百科全书式的参考”,但作为一种叙述,它是令人难以置信的可读性。

作者提供了一个非常,非常,非常好的写作,全面的,介绍网络和基础设施的网络。这是所有程序员都应该知道的。

对我来说,这是查尔斯·佩佐德(Charles Petzold)《密码》(Code)的自然续集。如果说“代码”向外行解释了计算机如何工作,那么“TCP/IP指南”解释了计算机如何连接在一起。

如果你给一个12岁的极客一份“代码”和一份“TCP/IP指南”,他们在17岁的时候就能构建出下一个谷歌。

换句话说,如果我能回到过去,告诉自己在我作为开发人员的职业生涯开始时读一本特定的书,这本书(加上代码)就会在我的清单上名列前茅。

c++中的算法对我学习大O符号和各种排序算法的来来去去是无价的。这本书在塞奇威克认为把它分成5本可以赚更多钱之前出版了。

c++ FAQs是一本神奇的书,它告诉你在c++中应该做什么,不应该做什么。c++的向后兼容性留下了很多“地雷”,这本书帮助人们小心地避免这些地雷,同时也很好地介绍了OO设计和意图。

Benjamin C Pierce所著的《类型和编程语言》,让您全面了解编程语言的基础。

Craig Larman的《应用UML和模式》。虽然四人组的《设计模式》这本书很有启发性,但我发现直到在编程课上偶然看到Larman的书,我才“明白”如何使用设计模式。