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

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

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

inquestion:this "Code Complete"

当前回答

Python语言对我的影响很大,我希望我几年前就能读到这些书。Python语言的美丽和简单确实影响了我用其他语言编写代码的方式。

其他回答

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

唐纳德·诺曼,《日常用品的设计》

不是关于编程本身,而是关于世界上的事物应该如何工作——这是一种可用性心理学。

在设计终端用户界面和api方面,这对我来说是无价的。

有效使用遗留代码是一本非常棒的书,它详细介绍了如何正确地进行单元测试,以及它的真正好处是什么。这真的让我大开眼界。

K&R

@胡安:我了解胡安,我知道——但有些东西只有真正着手手头的任务才能学到。整天用抽象的概念说话只会让你变成一个学究。正是在抽象的运用中,我们才真正领悟到它们存在的原因。: P

提到Alan Cooper的《The are Running The Asylum》真是让人大开眼界,自从我读了那本书后,任何与我合作过的开发者都听我提到过它所支持的理念。+1

《Effective c++》和《More Effective c++》作者:Scott Myers。