英文原文:http://www.codinghorror.com/blog/2008/04/programmers-dont-read-books----but-you-should.html
作者:Jeff Atwood
Coding Horror精华文章现已收入新书《高效能程序员的修炼》,各大书店有售!
StackOverflow.com的主旋律之一,就是软件开发者不再照着书本学习编程了。Joel Spolsky曾经提到过:“程序员似乎已经不再读书了。相比于程序员的从业人数,编程类图书市场小得简直不值一提。”
2004年,Joel发表了“The Shlemiel Way of Software”(软件开发中的愚蠢方法),他表达了类似的观点:“大部分人都不阅读。也不写作。大部分开发者不喜欢阅读软件开发方面的图书,也不到网上去浏览相关的文章,他们甚至都不关心Slashdot.org上的新闻。”
这是一则笑话。Shlemiel是一位油漆工,他找了一份在马路中间划虚线的工作。第一天,他拎着一罐油漆出去,一天下来总共划了300码。老板对他赞许有加:“你真棒!干活真麻利!”老板给了他一个铜板作为薪水。第二天,Shlemiel只划了150码。老板虽然有些失望,但一天划150码还算不错,所以仍然给了他一个铜板。第三天,Shlemiel只划了30码。老板勃然大怒:“怎么只有30码?!真是难以置信!你今天干的活只有第一天的十分之一。这到底是怎么回事?”Shlemiel一脸委屈:“我也没办法啊!每天我都离油漆罐越来越远……”——译者注
如果当今的程序员已经不读书了,那么他们怎么来学习编程呢?莫非还是那种最原始的方式:撩起袖子来就写代码,与此同时,打开另外一个窗口窥探着网络资源。互联网已经把编程类图书边缘化了。在线获取编程相关信息的速度更快、更有效率、也更便捷。Doug McCune写了一篇文章叫“Why I Don’t Read Books”(为什么我不读书),我相信他的感受相当有代表性。
公正地说,技术图书出版业应该为此承担主要的责任:
- 大部分编程类图书都很差劲。据我所知,现如今出书已经不存在什么门槛了。在鱼龙混杂的图书市场找出一本好书,并不见得比在旷野的互联网上找到有用的信息会更容易。在每年出版的数百本编程类图书中,也许只有2~3本真正值得一读。
- 编程类图书不是一书一价,而是论斤来卖的。编程类图书的厚度跟图书的质量似乎存在着一种反比关系。书越厚,它包含的有用信息就越少。这些“巨无霸”参考书究竟有什么用?书重得都快拿不起来了,你怎么还能用它来查阅?
- 面向新手的编程类图书太急于求成。我并不是不欢迎新人进入编程领域。但我始终认为,像“24小时学会xx语言”这样的图书太急功近利了。所谓“欲速则不达”。这种只顾眼前以及求快、走捷径的做事方式,会让初学者误入歧途——我称之为“PHP”——我是开玩笑的!一笑了之!
- 编程类图书有些像“色,情文学”。有人认为,收藏厚厚的一堆看起来很重要的编程方面的图书,即便它们大部分摆在书柜里未曾翻阅,你或多或少也会变成一位更为优秀的程序员。David Poole在写给我的一封邮件里提到,人们对这类“色,情”书的态度是,“现实生活中我绝对不会那么做的。”这就不难理解我为什么会在Donald E. Knuth的《计算机程序设计艺术》面前犹豫再三,并最终没有把它收入囊中。尽量去买一些实用的书吧,确保你会去读它们,并且更为重要的是,你会把从书里学到的东西付诸实践。
作为一名作者,我很内疚!我曾经和别人合写了一本编程方面的书,但我建议你不要买这本书(至今我仍然这么认为)。我这么说并不是为了哗众取宠,只是就事论事而已。当然,那绝对不是一本烂书。至于跟我一起合写那本书的其他作者,我对他们也保持着崇高的敬意。问题在于那本书涉及的内容,如果你从互联网上获取,会容易得多。相比之下,埋头苦读一本纸浆炮制出来的图书绝对是一种生命的浪费!
Jeff Atwood曾经与Scott Allen、Wyatt Barnett、Jon Galloway、Phil Haack等人合写了《The ASP.Net 2.0 Anthology: 101 Essential Tips, Tricks & Hacks》,于2007年9月出版。——译者注
互联网无疑正在加速编程类图书的死亡。但有证据表明,即使在互联网诞生之前,程序员也没有读太多编程方面的书。翻阅《代码大全》,当我看到下面这段文字时,着实大吃一惊:
你应该觉得庆幸,因为你在读这本书。你已经比软件行业里的大部分人懂得更多了,因为DeMarco和Lister早在1999年就指出,大部分程序员一年读不上一本书。读一点书对于职业生涯的发展大有裨益。即使你每两个月只读一本优秀的编程类图书(大概每周读35页),你也能很快把握住行业的脉动,并且让你鹤立鸡群。
我相信,上面这段文字在第一版的《代码大全》(1993年发行)里也出现了,只是我没有那个版本,也无从验证。Steve McConnell提到的DeMarco和Lister的言论,我在他们的《人件》一书里找到了:
有一个关于读书的统计非常让人沮丧:比如说,每个软件开发者拥有的在他们专业方面的图书平均不到一本,他们读过的专业书也没有超过人均一本。对于任何关注软件行业健康发展的人来说,这个事实是非常令人震惊的!而对于像我们这些写书的人来说,这也绝对是一场悲剧!
当我看到有人在reddit.com上曲解StackOverflow的使命,说我们让程序员抛弃图书,我感觉真的很受伤!面对当今的编程类图书市场,我其实很矛盾,但我还是要说,我热爱编程方面的图书!我曾专门写过一篇博客文章,为开发者推荐了一个读物清单。我现在的这篇文章也是基于那篇博文之上的。其实,在我写过的很多文章里,很多时候我都在尽自己的微薄之力,去解释一些经典的编程类图书里早已阐明的关键思想。
参见Jeff Atwood刚刚推出的新书《高效能程序员的修炼》的附录,人民邮电出版社(2013年7月)。——译者注
这爱与恨的纠结啊!我该如何去调和它们之间的矛盾呢?那些编程方面的图书,你爱或者不爱,它们都在那里……
优秀的编程类图书不受时间的影响。它们超越了对编程语言、开发环境或平台的选择,是永不磨灭的。它们并不停留在告诉人们怎么去做,更解释了背后的原因。如果你不得不每5年清理一次书柜,相信我吧,你一定买了很多不该买的书。
我买过的书我都很珍爱。我书柜里的那些宝贝,你拿什么来换我都不愿意。我一直在翻阅它们。事实上,我在写这篇文章的时候就查阅过两次。
在这里,我不想展开讨论我给大家推荐的那个读物清单。很多年以来,我都没有修改过那个清单,为此我感到无比自豪!
然而,我真的很想振臂高呼:有5本非常棒的编程方面的图书,每一位从业的程序员都应该拥有,并且认真阅读。年复一年,不管我在做怎样的编程工作,这些精华图书都实实在在地给了我极大的帮助。它们值得反复阅读。我每隔几年就会回过头去重读,在两次阅读期间新积累的经验的作用之下,我每次都能在软件工程方面获得更为深入、更具穿透力的见识。如果你还没读过这些书,那你还在等什么呢?
这5本书是:
- 《代码大全(第二版)》
- 《点石成金:访客至上的网页设计秘笈》(即《Don't Make Me Think》)
- 《人件》
- 《程序员修炼之道:从小工到专家》
- 《软件工程的事实与谬误》
我非常想让Stack Overflow成为那些永不磨灭的经典图书的有力补充,但不管怎么说,也不管从哪个角度去看,那些书的价值是不可替代的!
但是,如果你碰巧是《Perl for Dummies》一书的作者,那你要小心了,因为我们肯定会向你“开火”的!
相关推荐
高效能程序员的修炼(中文版)pdf part2,Jeff Atwood著,很清晰哦
《高效能程序员的修炼》的写作风格风趣幽默,且充满理解和关怀,适合从新手到老手的各个阶段的程序员阅读,也适合即将成为程序员的计算机和相关专业的学生阅读。《高效能程序员的修炼》能够帮助读者更多地关注程序员...
高效能程序员的英文版,Effective Programming.More than Writing Code,原汁原味的体验。适合英文还好的同学
jeff Atwood 的高效能程序员的修炼,大小限制,分卷上传,这是第3部分
程序员——必看的文档 程序员——必看的文档 程序员——必看的文档 程序员——必看的文档
高效能程序员的修炼(中文版)pdf part1,Jeff Atwood著,很清晰哦
《高效能程序员的修炼》英文版。 写作风格风趣幽默,适合从菜鸟到大虾的各个阶段的程序员,关注程序员职业生涯中的人文因素,有助于读者成长为真正高效能的程序员。
高效能程序员的修炼(中文版)pdf part3,Jeff Atwood著,很清晰哦
jeff atwood于2004年创办coding horror博客(http://www.codinghorror.com),记录其在软件开发经历中...《高效能程序员的修炼》能够帮助读者更多地关注程序员职业生涯中的人性和人文因素,成长为真正的高效能的程序员。
读书笔记:程序员的自我修养——学习笔记
黑马程序员——Android移动开发源码
该书非常不错,对程序员的整个思维体系进行了一个总结。
读书笔记:程序员的自我修养——链接、装载与库
《简明银行会计——程序员视角》读书笔记思维导图
jeff Atwood 的高效能程序员的修炼,大小限制,分卷上传,这是第二部分
从给定的文本来看,似乎并没有直接涉及到IT专业知识或技术细节,而是更多地描述了一位程序员的生活、情感以及工作环境。然而,我们可以从中提炼出与IT行业相关的几个关键知识点: ### 1. IT行业的压力与挑战 在...
总体来看,《漫谈程序员职场修炼》不仅仅是一本为程序员提供职场指导的书,它更像是一本包含着骆俊武个人经验、心路历程以及实战心得的宝典。通过阅读本书,程序员不仅可以了解到不同的职业发展路径,还可以学习如何...