程序员如何读书(技术方面的书)?

各位大神你们好,有3个疑惑需要各位大神指点一下。
第一点:要不要读关于技术方面的书?
第二点:总结Jeff Atwood的观点来看,程序员学技术到底应该不应该读书(浪费大量时间)?或者说从互联网上找(更方便、更有效率)就行了呢?
第三点:读技术方面的书,只读其中用到的部分,还是认认真真地系统地读完呢?

 有句话很有理:
 没有理论的实践是盲目的,没有实际的理论是空洞的。
 对于问题1和3:读肯定要读的,但是看你怎么读?为何去读?你要明白自己去读每一个本书的初衷。有些技术书籍,比如工具参考书,这些就没有必要
 从头看完,你只需参考目录过几遍,大概知道该书的大概内容即可,到用的时候再来翻阅。但是有些数据,比如语法书籍之类的,还是相当有必要去认认真真阅读的。
 基础扎实了,学习新的知识也容易上手等等。
 对于问题2:技术源于生活,又回归于生活。获取知识无非2个渠道,网络 或 书籍。书籍是为了让你更系统快速的了解一门知识的语法和功能,借助于网络
 又可以更方便的弥补或提升你对知识的认知。

 建议:不要浮躁,静下心来,细心品读书籍。为了更快提升自己,可以去开源中国中找几个源码,然后结合你所看书籍上面的知识,你将会进步很快的。

第一,读书肯定是有必要的关键是怎么读,读书能更系统的了解相关知识,但是读书相对枯燥,所以读书的过程中最好结合实例进行一些操作进行巩固;
第二,读书不是从头看到尾,首先要先看目录,重要的部分重点读,不重要的部分可以快速看;
第三,上网找事很方便,但是很多知识众说纷纭,大家的理解都不一样,有些可能解决你的问题,但是对知识点没有理解到根上;

每个人都有每个人的学习方式,别人的不一定是适合自己的,得看个人,如果你本来就很喜欢看书的话,说不定你看书比在网上找资料快;
对于每个人的学习动力都是在于学了之后的成就感,看程序员的书去学习相对于在网上搜资料得到的成就感会慢很多,比如你看懂了树上的知识,但是你需要每行代码一个一个码上去(中途要是有打错的还要找错),远比在网上直接copy再修改来得慢的多;

程序员也是普通人,优秀的人凤毛麟角。平庸的人,他的整个人都是很一般的,不是看书少的问题。

为什么优秀的人喜欢看书,我觉得这个问题既可以解释为书使得他们变得优秀,但是我觉得这个解释有些牵强。一个我觉得更合乎逻辑的解释就是,优秀的人更能从书中获取有用的东西。
优秀的人从小就聪明,就能从书中获取比常人更多的价值,从而得到更加正向的激励,从而更加热爱看书。
而天资平庸的人没有这种体验,看了书以后收获不大,从而从小就不爱看书。因为是天资的问题,而不是书的问题,所以你好心让他们多看点书,他们觉得劝人看书是一个“骗局”。

所以,我给喜欢阅读同时经常劝人阅读的朋友的一个建议就是,不要劝人家去读书。如果人家真的能从阅读中得到价值,人家早就自发阅读了,如果人家能从书中获取比你更大的价值,人家甚至比你更喜欢读书。
如果人家已经质疑读书有没有用这种问题,你最好别劝他。否则他会觉得你在“欺骗”他。

不要强迫自己读书,而是自己想要了解这块才去读,一边实践一边翻书。