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

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

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

inquestion:this "Code Complete"

当前回答

Brian W. Kernighan和P. J. Plauger的《软件工具》对我影响最大。

其他回答

Mike Gunderloy的《程序员到开发者》。

系统滑稽:系统如何工作,特别是它们如何失败。便宜地使用它。但是,在你参与过一些失败的项目之前,你可能不会体会到其中的幽默。

书之美在于版权年。

也许书中最深刻的“法则”是:

基本失效模式定理(F.F.T.):复杂系统通常以失效模式运行。

它的思想是,在任何给定的软件中都有失败的部分,这些部分被其他部分的失败或其他部分的验证所掩盖。看看现实世界中Therac-25辐射机的例子,它的软件缺陷被硬件故障保险掩盖了。当硬件故障保护被移除后,多年来一直未被检测到的软件竞争状态导致机器杀死了3个人。

Robert L. Glass的《软件工程的事实与谬误》http://www.codinghorror.com/blog/images/facts-and-fallacies-of-software-engineering.jpg

Robert L. Glass的《软件工程的事实与谬误》是一本非常优秀的书。在我读这本书之前,我已经做了将近10年的专业黑客,但我仍然学到了很多东西。

当我开始使用Java进行开发时(直到今天仍在这样做),我不得不推荐该领域的杰出工作:Mr Bunny’s Big Cup o’Java。

摘自作者的简介:

学习Java最好的方法就是把一个Java编程专家的松果体植入你的大脑。遗憾的是,大多数hmo拒绝为这个挽救职业生涯的程序买单,认为Java太过实验性。对于我们这些等不及全面医疗改革的人来说,终于有了另一种治疗方法。 10个医生中有n个推荐兔子先生的爪哇大杯,这里的n是你想要给容易上当受骗的公众留下深刻印象的任何整数。这本书以对这本书的概述开始,然后迅速展开到书本身。看看涵盖的主题: Java 简而言之,MBBCOJ将教你在今天的兔子开发环境中获得成功的职业生涯所需要知道的一切。

光是对像素的洞察就足以缩短我的软件开发寿命。

对我影响最大的编程书籍是Allen Holub的《Enough Rope to Shoot Yourself in The Foot》。

书的封面http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif

哦,那是多久以前的事了。