近来看了2篇和读书有关的文章,一篇提到Joel讲现在程序员不太读书了,主要靠在网上找各种参考资料;一篇则是马总说的:成功与情商有关 与读书多少关系不大。一定程度上这两个观点都有点道理,可以靠StackOverflow.com和搜索引擎找到各种问题的答案和例子,刘邦项羽不太读书一样闹革命,还成功了,但如果得出一个“读书无用”的结论来就错了。
人类获取知识的手段无非就两个要么靠实践直接获取,要么间接获取,而间接获取中最关键的手段则是读书。“实践无疑是最有效的提升自己的手段,但只依赖于实践无疑也是愚蠢的。”忘记那个大侠说的这句话了,但这不看着很有道理么?
如果把人类有历史以来的书按其价值排成金字塔,如果第一层就一本,那这本应该空着,非要有,也只能是“宇宙+社会历史”自身,这点争议应该不大,这就是为什么实践最关键的原因。第二层的可能是宗教哲学(各种带“经”的书),社会人文历史的书就要依次排在下面。当一个人读了这些书,并读懂的时候,这个人就和伟大的精神同化,也许能看穿历史长河,位置越高越应该读读,不读这些书,精神的厚重就压不住成绩带来的荣光,人就容易发狂,发狂就容易挂。希特勒当年兵锋那么盛,一发狂四面树敌,该挂还是挂。老实讲越是大佬越应该读读,所谓高处不胜寒,真心期望IT界的大佬别折戟沉沙啥的。
说跑题了,接下来说程序员。
在金字塔上位置越高的书,越必须体现为书的形式,因为它往往有深刻的思辨和严密的体系结构。但这对解决具体那个Bug,那个API怎么用,那个框架怎么用,应该用怎么样的架构解决眼前的问题等等半毛钱作用也没有。解决这些问题最好的方法就是用搜索引擎,找到例子进行参考。所以会有Joel提到的现象:程序员不太读书了。这事情中外皆一,属于生产力决定生产关系的范畴。
我也确实认为,讲技法的书越来越没有存在价值,这类书和StackOverFlow比一点竞争优势也没有。感觉上各种面向程序员的“傻瓜”书,应该已经消失殆尽了。但有思想,有严密体系结构的书并不能被StackOverFlow所取代。想想《代码大全》,这种书对软件进行了全景式的剖析,读过之后,还要去想想各章节间的关联,因此并不适合把每个小节的内容变成一个问题,接下来在问答网站上了解这本书里陈述的知识。因此,不管用什么形式(电子的或纸版的),这都是书,都应该读。而这类书,是有思想的人纵观无数实践,总结出来的,你不去看看,不是疯了么?这种疯狂的形象描述是,我做坐于井底,我也知道自己坐于井底,但我就喜欢看我头顶这片天。
这样一来,“还需要读书么?”就不是个问题,显然是需要读书的。而更大的问题在于究竟应该读那本书上。
庄子在很久以前就说“道术将为天下裂”,但估计他要看到裂成现在这状况也会很惊讶的。随着人们获取知识变得越来越容易,人们输出知识也变得越来越容易,所以写书变容易了,作为结果一下子五花八门的书都呈现在你面前,于是选择成为最大的难题。
把实践的时间压缩太厉害,专门读书倒是能读很多书,但这样一来就成书呆子了。即使以平均每天2小时算,一个人一年也就有730个小时来读书,即使以40小时读一本书论,也就能读不到20本书。实际上大部分人应该是没有这个时间的?认真算起来正儿八经的,比较硬的书感觉上一年也就能读个4~5本。要想有效利用这点时间,选择方法比较关键。
选择的关键有两个,一个是你要有个知识的分类,有个大致的全景视图,知道自己缺啥,而后缺啥补啥。偏技法的不看就不看了。这里有份参考。一个是靠口碑+试读。口碑是指基于个人的真的口碑,不要被宣传所忽悠。口碑还行的书,大致瞄下,应该可以知道值不值得精读。
相关推荐
程序员面试宝典+读书笔记
自己总结的《高效程序员的45个习惯》,把书中自己感觉较好的段落摘抄下来,稍稍加了点自己的想法,挺好的...
《简明银行会计——程序员视角》读书笔记思维导图
程序员面试宝典笔记总结,对于复习基础知识有很大帮主
左耳多耗子《程序员练级攻略》推荐必读书籍清单(上) 左耳多耗子《程序员练级攻略》推荐必读书籍清单C_C 左耳多耗子《程序员练级攻略》推荐必读书籍清单Java 左耳多耗子《程序员练级攻略》推荐必读书籍清单基础篇 ...
《C 程序员面试算法宝典》读书笔记模板x.pptx
我也能做CTO之程序员职业规划读书总结[张振华.Jack] 程序员的职业规划
perl 学习笔记,希望能对大家有帮助 perl 文档 速查手册
http://book.51cto.com/art/200906/131809.htm
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵...
1、程序猿最烦两件事,第一件事是别人要他给自己的...3、还没上大学的时候,高三暑假,跑到家那边的图书城想买传说中的C++的书,然后看到一本C#,我一看,嘿,这个++还写得挺艺术的,重叠起来了,于是把C#买了回来……
关于程序员学习程序的SQL经典试读版关于程序员学习程序的SQL经典试读版关于程序员学习程序的SQL经典试读版关于程序员学习程序的SQL经典试读版
这本书有多经典就不再赘述了。由于是图片书,所以有点大。不过效果还可以,上面有一些我个人的笔记,相信对阅读有些帮助。建议阅读3遍以上,多多益善。可以作为程序员终身发展的陪伴读物,良友啊。
1. 第一章针对Java程序员的UML概述 1. UML(统一建模语言)的三个层次: 1. 概念层(Conceptual) 接近人类自然语言 有歧义 无严格的格式 2. 规格说明层(Specification) 3. 实现层(Implementation) 规格...
好的测试员,不仅需要对测试领域有深刻的理解,也需要很高的编程功底。即使你不想从事测试工作,学习这些东西,也会对你的编程水平、代码质量有很大的帮助。 个人认为,看一本书,尤其是经典的著作,看十遍都不为...
读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书觉得自己俗了,长久不看书,写东西找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读书...
程序员杂志2005年第11期 程序员杂志2005年第11期程序员杂志2005年第11期 程序员杂志2005年第11期
一种编程语言的重要性并不在于语言本身,而在于这种语言所体现出来的编程思维模式。所以说,并不是你用到的书才去读,读书是一种习惯,一种积累。
《高级程序员-编译原理》简单明了地介绍了编译原理内容,使人容易介绍和学习。