每个程序员都应该阅读哪本最有影响力的书?

1436

如果你可以回到过去,告诉自己在作为开发人员的职业生涯初期阅读某一本特定的书,那会是哪一本书呢?

我希望这个列表能够涵盖各种各样的内容。

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

inquestion:this "Code Complete"

8
浏览这个帖子让我意识到大多数与编程有关的书籍是多么丑陋。不过,这个帖子很好! - Carl Bergquist
23
虽然标题写着“每个程序员都应该读哪本最有影响力的书?”,但是推荐的书籍中有很多涉及特定编程语言的主题。根据定义和问题的设置,这里建议的书籍应该涉及语言无关的主题,由此证明大多数程序员还没有学会如何阅读。 - Rook
19
如果我能回到过去,告诉自己读点什么,那最好是带在身边的报纸或者体育事实书。其他的都浪费了这个好好利用时光旅行的机会。 :-) - jmucchiello
32
要是我不担心会被大量踩,我就要恶意地建议《暮光之城》了。 “它也是关于皮肤苍白、避免阳光的人!” - Jacob Bellamy
3
有人可以通过删除重复条目来清理书籍答案吗?其中大部分已经被投下反对票。 - rao
显示剩余23条评论
214个回答

7

虽然我同意上面提到的很多书都是必读的(例如《程序员修炼之道》、《人月神话》、《计算机程序设计艺术》和《SICP》),但我想稍微改变一下方向,推荐Edsger Dijkstra的A Discipline of Programming。尽管这本书已经出版32年了,但“为可验证性而设计”的重点非常相关(即使“可验证性”意味着“证明”,而不是“单元测试”)。


7

我对这本书抱有很高的期望,但它并没有让我满意。我认为它只是在陈述显而易见的内容。对于那些刚开始学习编程的人来说,这本书可能还不错。 - projecktzero

6
"编程实践",作者为Brian W.Kerninghan和Rob Pike。
语言简单易懂,内容有趣。

6

作为一名Java开发者(我至今仍在从事这个领域),我要推荐这个优秀的工具:Mr Bunny's Big Cup o' Java

以下是作者的简介:

学习Java最好的方法莫过于将专业Java程序员的松果体植入你的大脑。可惜的是,大多数医疗保险拒绝为这种职业救赎手术支付费用,认为Java太过实验性。现在,对于那些不能等待全面医改的人来说,有了一种替代治疗方案。

Mr. Bunny’s Big Cup O’ Java被n位医生推荐,其中n是你愿意编造的任何整数,以打动一个惊人易骗的公众。本书从概述开始,快速扩展到正文。看看所涵盖的主题:

  • Java

简而言之,MBBCOJ将教会你所有必备知识,让你在当今的兔子开发环境中成功。

单是对像素的洞察力就可以缩短我软件开发生涯的几年时间。



6

我已经在这个领域工作了一段时间,所以我认为大多数我觉得有影响力的书籍并不一定适用于今天。我相信普遍重要的是要理解你正在开发的平台(硬件和操作系统)。我还认为从别人的错误中学习也很重要。因此,我推荐两本书:

《计算机灾难》《寻找愚蠢:二十多年的高科技营销灾难》


3
别逗了,我为什么提到两本书就被判定分数低啊?请给个解释。 - bruceatk

6
毫无疑问,《程序员修炼之道:从小工到专家》。其中的建议非常清晰简洁,让人感觉就像是“常识程序员”。我喜欢它。


6

这些书籍并没有特定的顺序,只是按照我书架上的排列顺序:

  • 程序员修炼之道
  • 重构 by Fowler
  • 使用遗留代码有效工作 by Feathers。这本书实际上是重构的伴侣。
  • 精简UML by Fowler。除了简明扼要外,它还有其他优点。
  • 调试开发过程 by Steve Maguire
  • 设计模式 (又名 "四人帮") by Gamma等人

6

兔先生的ActiveX指南


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接