程序员都不读书,但你应该读

oschina
 oschina
发布于 2013年05月21日
收藏 112

Jeff-Atwood

问答网站stackoverflow.com的一个主要功能体现就是:软件开发人员无需再从书本上学习编程,就像Joel所说的

程序员看起来都不再读书。市场上编程方面书籍的数量和编程从业人数相比来少的可怜。

2004年在《The Shlemiel Way of Software》一书中Joel也表达了相同的观点:

大部分的人都不读点什么或写点什么。大部分的程序员都不读软件开发方面的书籍,他们不去软件开发方面的网站,他们不去Slashdot参与讨论。

既然现在的程序员都不读书,他们如何学习编程?他们用最原始的方式:捋起袖子就写代码——同时开启第二个窗口来从互联网收集经验和知识。互联网是一部百科全书。获取知识信息更快,更高效,从网上获取编程知识明显是一种更聪明的方法。Doug McCune在Why I Don’t Read Books这篇文章里贴切的写出了他的感受,我相信他描述的这种心情是相当普遍的。

我认为技术图书出版业应该为此承担主要责任:

  1. 大部分编程书籍都写得很烂。写书出版的门槛,就我个人发现,已经基本上不存在了。图书出版业虽然很热闹,但这并不能说明它能提供比你在广袤的互联网上找到的更好的内容。虽然每年都有成百上千的编程图书上市,但也许可能只有2、3本是值得你花时间去读的。
  2. 编程书论斤买,而不是论知识量。我们会有这样一种感觉,编程书籍的厚度跟它的内容质量似乎成反比。书的部头越大,里面所承载的有用信息越少。那些动辄上千页的参考书究竟有什么用?你真的会用它来查找吗?拿着都费力。
  3. 都是面向新手的速成编程书籍。我丝毫没有反对新人进入编程领域的意思。但我从来都是认为“24小时[某种编程语言]速成教程”这类书对我们的这种职业是有害的。这种书都灌输着一种短视的思想,求快,求最简单的省事的做事方法,这导致初学者误入歧途——或就像我喜欢提到的,“PHP”。玩笑!玩笑!
  4. 编程书籍色情化。有些人认为把一大摞厚厚的,看起来很重要的编程书放在案头——基本上没看过——会映衬出是一个水平很高的程序员。正如David Poole曾经有一次在邮件中跟我说的,“这种事情我是绝对不会做的”,说的正是这些编程书籍色情化的现象。这也是我经过思考决定拒绝购买Knuth写的《计算机程序设计艺术》一书的原因。我们应该去买有实践价值的书,你真正会去读的书,更重要的,你能拿来实用的书。

作 为一名书作者,我很惭愧。我和别人也合写了一本编程书,而且我并不认为你应该买它。我不是在说反话。我想说的就是字面上的意思。但不管怎样,那并不是一本 很糟糕的书。我对我的书合作者怀有最大的敬意。但你能从网上找到比这本书更丰富的信息。抱着一本死书不放是最不可取、最浪费生命的事。

互联网无疑正加速编程书籍的死亡,但有一些证据显示,甚至早在互联网诞生之前,很少有程序员遍读大量编程书籍。我很吃惊的在《代码大全》一书中看到了这样的段落:

你可以炫耀一下了,因为你在读这本书。你已经学到了比软件产业里大部分人都要多的知识,因为大部分的程序员一年都不会读一本书(DeMarco and Lister 1999)。每天读一点,坚持不懈,你就能成为专业高手。如果你能每两个月读一本好的编程书,大概一周35页,你很快就能对业内的知识有坚实的掌握,能很快让你从周围所有的人中脱颖而成。

我相信早在《Code Complete》1993年第一版时里面就有这样的原话,但我们无法证实,因为没有那一版的书。经过这网上的搜索,发现了Steve McConnell在《人件》中引用的段落:

关于读书情况的统计数字让人非常的泄气:比如,大部分的软件开发人员手头上都没有一本关于他们的工作方面的书籍,更不用说读过一本。这事实让人对这个领域里的工程质量感到担忧。而对于我们这些写书的人,那更是悲剧。

我很痛心的读到reddit上的这些评论,看到人们把stackoverflow.com网站的宗旨使命理解为对编程书籍的否定。怀着一种对当前编程书籍市场复杂的心情,我要说,我喜欢编程书!我这个编程博客就起始于一篇推荐程序员必读书籍的文章开始的。很多我的文章都是在讲述我对于一些经典编程书籍里的核心思想浅显的理解。

如何让这看似矛盾的语句能够调和,如何能统一这动态的爱与恨?你看到了没有,处处都有编程书籍,处处都有编程书籍。

优秀的编程书是没有时间限制的。它们会超越语言的限制,IDE的限制和平台的限制。它们是解释how,而不是why。如果你五年都不想清扫一下你的书架,那请相信我,你买错了编程书。

我的编程书柜是任何东西都换不去的。我无时不刻都在使用它他们。事实上,我写这篇文章时就翻阅了它们数次。

我的书架

我不想再复述我的这些推荐的读物,因为这些年我一直在拿它们炫耀。

可我必须要号召的是:我最喜爱的五本最重要的编程书,你们每个正在从事编程工作的程序员都应该有拥有——并且要读。这些种子读物,极富实用价值,年复一年,不论我做什么样的编程工作,它们从未贬值。它们值得一读再读,每次我有了更多年的经验,回来重新阅读它们,都会让我对软件工程获得更深更明锐的认识,如果你还没有拥有这些书,那你在等待什么?

[英文原文:Programmers Don't Read Books -- But You Should ]

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:程序员都不读书,但你应该读
加载中

最新评论(60

这世界将没有我
这世界将没有我
我也该加油点,多阅读。
WolfCS
WolfCS
个人而言,读书常常会用来搭建一个知识的体系,而网络,则用于找到一些使用技巧。
felixlv
felixlv
小编你也太不厚道了把。最重要的5本书籍不翻译,欺负我们看不懂英文蒙混过关么?
附上5本重要的书
《Code Complete 2》、《Don't Make Me Think》、《Peopleware》、《Pragmatic Programmer》和《Facts and Fallacies》
lugesot
lugesot
显然烂书太多,大家都受过伤害。但oschina 小编水平也太low了吧,居然不给作者的好书列表,正如 天一所说。
笑死人了,这样的翻译在,岂能有翻译好书!
廖君
廖君

引用来自“杨大爷”的评论

引用来自“廖君”的评论

每个月都从生活费(学生)中拿出100块钱用来购买买1-2本技术书来看,即使自己看不懂,但是遇到好书也会购买。我买书的目的其实很简单:我不可能完全的吸收那一本书,但是只要我从中学到了一个知识点。那么我的付出金钱都是有价值的。到目前为止。我大概购买了近1000块钱的书籍,而且我也从中获益很多

挺好。大学期间基本上没读过什么书,时间都耗在机房里了。工作中确实遇到好多问题,看书是一个非常好的系统完善的学习途径,但最大的问题就是,没有时间看书了。
买了大箱的书,公司的书架上书也一堆,公司买书也是全部报销的,但每天只有晚上睡觉前才能看几页,一个月下来,一本书也看不完。有些书买了直接成了摆设。

每天晚上,比以前早关电脑半小时,这半小时啥都不干,只看书
廖君
廖君

引用来自“阳威”的评论

引用来自“廖君”的评论

每个月都从生活费(学生)中拿出100块钱用来购买买1-2本技术书来看,即使自己看不懂,但是遇到好书也会购买。我买书的目的其实很简单:我不可能完全的吸收那一本书,但是只要我从中学到了一个知识点。那么我的付出金钱都是有价值的。到目前为止。我大概购买了近1000块钱的书籍,而且我也从中获益很多

我有这样的想法,但是现在还没有固定的住处,如果要搬家的话,搬那么多的书时间很麻烦的事情

额,这个只有自己麻烦一点了
翠屏阿姨
翠屏阿姨
提取CSS属性那个最酷,哦吔哦吔
c
chinaray
目前为止最全的电脑书籍下载: http://www.kuaishou.net/book.htm
c
chinaray
目前为止最全的电脑书籍下载: www-kuaishou-net/book.htm
返回顶部
顶部