原文出自http://www.cnblogs.com/cj723/archive/2008/03/27/1124849.html
很多做编程朋友都喜好读书的。但为什么要读书?读什么书?读多少书?如何读书?这都成了很大的问题。我想就这些问题谈谈我自己的看法。注意,本文读者最好是那些时间不多,希望通过读一些好书能有大收获的朋友。如果那种只要是技术书都要去读读的朋友,你的精力和时间实在太多了,本文应该不适合你。
首先,在中国,程序员只能靠读书来提高自己的编程或设计能力,这本身其实是很无耐的,因为国内软件编程方向的教育已经远远落后于编程业的发展了。名师凤毛麟角,能够听到名师的课的人非常少。运气好,进了大学或者公司,有个高手师兄或者大牛同事带一带,成长会快些。否则,要想提高,除了读书,还真是没有别的办法。由于本人曾经做过数学教师,我很清楚,数学学习如果只是给你几本参考书,然后就能高考得高分,那是不可能的(你如果例外,只能说你是天才,没有普遍意义),但数学教育已经发展了不知多少年,特别中国这样以应试教育为主导的国家,数学是不需要好书只要有好的老师就可以出好的学生,而软件编程教育的师资就实在是不容乐观。而我想强调的是,读书永远没有好老师的好教学来得有效(注意需要强调“好”字)。因为老师和学生之间是有互动的,是在一个交流的气氛中学习,而不是读书的那种完全单方向的信息传递。现在有了网络视频录像,情况得到了很大改善。不过视频同样存在只能告诉你东西,而不能最快速的解决你碰到的疑问的单向信息传递问题。比如你看了一个视频学习如何用VS2008写一个“HelloWorld”程序,可是你始终找不到视频里提到的“解决方案资源管理器”(原因是之前你或别人无意将它关闭了),或许你费了很大力,终于明白在工具栏上有按钮或者菜单中可以打开它,但是你的挫败感就很强烈了,这对于初学者来说,是很不爽的。如果有个老师,或者旁边有个同学,这种问题几秒钟就能解决。再比如你看了策略模式的教学书或视频,可是为什么一定要用策略模式呢?我不可以用简单工厂吗?不可以用装饰模式吗?你的问题一个接一个,书中没有答案,答案只能依靠自己去想。如果你坚持去想,你会有“悟”通的一天,但是更大的可能是,算了,设计模式也太难了,以后再研究吧。因此我觉得多读书当然好,不过编程能力通过读书显然不是唯一,更不是最好的办法。不过就目前的国内现状来讲,读书或许是在你没有老师的前提下最好的提高途径,尤其是初学者,系统看一些好书,学习一项技术是很有必要的,只靠实际的做项目来提高极有可能会发展不全面(培训学校我不推荐,因为骗钱居多,好教师太难找)。
然后是读什么书的问题。现在很多过来的朋友都推荐了一些好书,这些好书大多是经过时间验证,的确是难得的精品,看看一些网上书店的排名和评论就大概知道好书是哪些。不过问题又来了,是不是这些书都适合我阅读呢。答案不是,并不是只要是好书就适合读者阅读的。从技术书的分类来看,简单的分就有程序设计、软件工程、数据库、网络、图形图像等等;从技术难度上分,就有入门读物、进阶读物、高级读物等;从写作形式上分,有教材类、论文类、休闲类等;从价位上,有10-30、30-60、60-90、90-抢钱没商量价等;从书的厚度或阅读时间来讲,有三天读完、两周读完、两月读完、半年读完、阅读三遍、终生阅读等分类;当然最重要的分类,即按书的写作质量来分,应该是垃圾书、一般书、可读书、精品书、绝对必读书等。换句话说,仅仅是告诉你,编程书好书有哪些是远远不够的,往往会让读者根本没办法去区别这个好书是不是适合自己,是不是应该要现在阅读,是否有必要全部读完。当然,商家是不会做这么细致的分类的,没有什么商家会告诉你,本书是垃圾书,本书不适合低手阅读,本书太厚没时间不要读,本书很贵买前要慎重、本书只有三章可以一读等等。但作为读者,如果你没有这种多角度分类的思考去找书的话,你或许会迷失在书的海洋中,无以自拔。打个比方(尽管这个比方我已经打过很多次),GoF的《设计模式》的的确确是好书,但真的不是每个编程者需要去阅读的,至少不是一开始去阅读的,如果你是非面向对象程序员(比如嵌入式开发),你是关系数据库开发者(比如存储过程开发者),你是UI设计者(偏设计但涉及程序的那种),甚至你是面向对象编程初学者,我都建议你不要读它,真的没什么必要,只有等你真的已经达到一定的开发量了,真的有必要提高自己的编程和设计能力的时候再去阅读它。总结,一定要读经过时间检验的好书,但在这些好书中,需要分分类,需要多多思考自己是不是真的适合当前阅读。
接着,就是读多少书的问题了。好书很多,不是一本,不是十本,而是几十本上百本。有些书是全本都好,有些书是部分章节优,有些书有很强的时效性(比如现在去阅读一些asp.net 1.0入门经典方面的书可能就没有与时俱进了)。是不是有必要把相同类型好书都读了呢?我看没什么必要。比如你要学习asp.net,你真有必要把这方面的好书都阅读一遍吗?读一本足矣。毕竟这里更加需要的是练习而不是阅读了。而要读的这一本书就应该是精读,甚至反复读。其实。因此别的行业可能很需要参考书,我看编程行业基本不需要参考书,Google百度就是最好的参考。思想层面的,比如设计、分析、项目管理等方向的,可能要多读一些。但书实在是贵在精而不是多,还是以设计模式为例,入门读《Head First设计模式》,进阶再去读GoF的《设计模式》就足够了。当然,像《Java与模式》、《设计模式解析》都是好书,你有精力可以多读,没精力,那就不读也罢。
跟着,也是比较关键的,就是如何读的问题,本来这个问题不应该我来多说的,读书吗,从头读到尾就行了,但其实这里学问还真是不少的,技术书还是很有区别于一般的小说书的。如果你只是简单的理解为读书就是花点时间,从头读到尾的话,你从这本书得到的收获是很小的。首先,技术书,并不一定都是需要从头读起的。这要看是什么书,特别是应用级的书,往往是你当前最需要了解的技术,你需要多花时间去研究相关的章节。好的书通常都会在前言就告诉你,应该如何去读这本书。我记得《敏捷软件开发:原则、模式与实践》书中前言就写得很清楚什么样的读者应该更加关注什么样的章节,特别他提到如果你觉得无聊就看看书后的两个故事,哈,我还真是在一次没事做时,去认真的阅读了那两个项目开发对比的故事,感觉非常好。技术的学习不是看完书就完全理解的,更不是看完就能马上应用自如的,一项技能要经过知道、理解、掌握、应用等等过程。我强烈建议读者朋友在精读一本书时,一定要手拿着笔,最好旁边再有一本笔记本(纸)和一台笔记本(电)(哈,PC当然也没问题)。看到好的句子要摘录到笔记本上(别懒,这其实不是让你以后去看你抄的东西,而是让你在抄的时候,放慢你阅读的速度和节奏,而把大脑紧紧的集中在这个知识点上),有句话说,在一个人用笔写东西的时候,他是不可能分神去想别的事情的。这对于记忆和理解是非常有帮助的,简言之,不动笔墨不读书(非常可惜,现在我已经很少看到喜欢记读书笔记的朋友了,有些人可能一年除了签名都写不了几个字,这实在是一大悲哀)。那么旁边那台笔记本或PC要来干吗呢?不是让你来玩游戏的,更不是让你和MM聊QQ的,而是用来写代码的,代码只是看看是没用的,一定要自己打一遍,最好的效果是看懂了后,根据自己理解的来编,效果差一些的是照着书中的抄一遍,但无论哪种都比你根本不写只是看要强。我见过不少朋友买了书,可能连随书的光盘封套都没拆过,又或者光盘中的代码只是简单的运行一下。没有认真的模仿打一遍,这都是不好的学习方法。有些人认为书读完了,应该就差不多都掌握了,其实未必。不知你有没有过看一部电影,过段时间再看第二遍发现很多很有意思东西原来根本没在意。特别是英文字幕的片子,看第一遍甚至根本就不懂,看第二遍就轻车熟路这种情况不是很多吗。读书也是一样的,好书绝对有必要多读,常读。否则理解可能还是会很片面。
最后,还得提一提两个细节问题。
关于电子版和纸版书的阅读问题。有些朋友喜欢收藏电子版的好书,一收藏就是几十上百本,可惜真正看完的可能是零头。书是用来看的,这些放在硬盘里不看的图书,不如删除更换为几部AV短片(毕竟后者看的可能性要大得多)。但为什么这些好书,却不能好好阅读呢?这也不能全怪读者,而是电子版图书天生有其不足之处。第一,它不方便携带,它一定要在电脑面前才能阅读(特指有图有代码的编程技术电子书),不像纸质书那样可以在地铁公交甚至厕所里阅读;第二、长时间伤眼睛,书不同于短的文章,在电脑面前长时间阅读很容易疲劳,特别是要学习技术的书,看纸质书会更舒服一些;第三、不方便批注,尽管有的软件可以解决这问题,不过怎么使用不如纸质书来得方便;第四、有些电子书不清晰,有可能直接是把原书扫描而得,这显然无法和纸质书相比,阅读情绪会产生很大影响。所以,只有在能完全克服这些困难的人才可以通过阅读电子书来学习。不过现在老外的有些英文原版电子书制作得非常精良,在美元跌落却依然购买不起纸质书的前提下,阅读好的电子书也是不错的选择。
关于图书馆借书还是自己买书看的问题。有句俗语叫“书非借不能读也”。说的是因为自己的书,会有一种反正已经拥有,有空再读的想法,造成反而很长时间都不去阅读。而借的书因为有还期,所以抓紧读的机会还更大一些。加之图书馆借书可以省很多买书的钱,所以去图书馆借书也是不错的选择。不过图书馆的书很难跟得上时代,很多都太老了,有些新书图书馆虽然引进了,但因为抢手也很难借得到,特别好书,基本都要碰运气才行,加之有些书一个月外加一个月续借的时间很难读完。所以借图书馆的书是好办法,但有些书借不到时,还是要考虑购买。但盲目的购买图书显然不是好办法。说到买书,不妨几个同事相约买书,这样可以平摊的购书的成本,另外网络购书优惠不少,也是不错的选择。
总之,在国内的大环境下,读书还是编程工作者提升技术能力的最好办法。那么上面所谈到的问题,也就显得非常的必要。希望本文可以给你的技术书阅读有所帮助,我的看法也可能有失偏颇,大家一起讨论。但不管你是否同意,留句话,那尽管我花这么几个小时打字的劳动也甚感欣慰了。
分享到:
相关推荐
本文旨在探讨在这样的背景下,科技类图书出版的思考与对策。 首先,我们必须认识到科技类图书的特殊性。由于科技领域知识的专业性和技术性,科技类图书往往需要更系统、更规范的呈现方式,同时对图书内容的准确性...
特别是对于12-16岁的青少年,人文类经典书籍的采购不足,缺乏有效的分级阅读指导,这可能导致他们阅读选择的盲目性。 其次,阅读推广方式单一且效果有限。部分图书馆的活动过于注重数量而忽视质量,未能有效引导未...
由图中可以发现,绝大部分金融类图书的评价人数都集中在0-5000人这个区间内,其中评价人数前五的书籍为:货币战争、原则、经济学原理(上下)、思考图和伟大的博弈,评价人数分别为43853人、24112人、16539人、14531...
这篇文档主要探讨了高职院校图书馆的现状、大学生的阅读特点及其成因,并提出了图书馆可持续发展的思考。 1. 高职院校图书馆现状: 在“互联网+”的影响下,大学生的阅读习惯发生了显著变化,他们更多地倾向于快餐...
3. 借阅行为分析:通过数据挖掘技术分析RFID系统记录的借阅数据,可以识别高流通图书和低流通图书,根据数据分析结果,图书馆可以调整图书配置,淘汰不受欢迎的图书,增加热门图书的复本量。 4. 读者需求预测:通过...
例如,对于某一类图书的高借阅率,图书馆可以适当增加该类图书的采购量,满足读者需求。 其次,大数据有助于图书馆实现智能化服务。利用数据分析工具,图书馆可以预测读者可能感兴趣的新书,提前进行预订或采购,...
图书馆管理人员需要不断学习和掌握新的信息技术,实现图书馆服务的个性化和智能化,以满足不同读者的多元阅读需求。最终,通过大数据技术的应用,提升图书馆的核心竞争力,为读者提供更高质量的服务,促进知识的传播...
### 计算机在图书馆管理中的实践及应用思考 #### 摘要 随着信息技术的飞速发展,计算机技术在各行各业的应用变得越来越广泛。对于图书馆这样的文化机构而言,利用计算机技术不仅能提高工作效率和服务质量,还能更...
关于文件的打开和加载,TXT图书阅读器可能采用了高效的文本解析技术,能够快速读取大体积的TXT文件,即使文件包含数百万字,也能迅速载入,不卡顿。同时,它可能支持断点续读,用户不必担心因为意外关闭而丢失阅读...
安全技术类图书,结合行业特点提供专业安全指导;特殊工种培训图书,针对高危行业的特种作业人员进行上岗培训。 在选择作者时,需要找到具备安全理论知识和行业实践经验的专业人士。安全生产权威专家能深入浅出地...
2. **融入高新科技**:利用信息技术,如移动图书馆、智能检索系统等,将服务延伸到读者的日常生活和工作中,让阅读变得更加便捷,特别是对于特殊群体,如农村地区的工作人群,可以提供有针对性的技术类书籍服务。...
此时,图书馆应提供更为广泛、深度的阅读材料,包括经典名著、专业类书籍、社科人文类读物等,以满足他们日益增长的知识需求。同时,图书馆可以开设阅读讨论小组、主题讲座等活动,鼓励青少年参与讨论,深化阅读体验...
《读书阅读系统,按章分析》 在当今信息爆炸的时代,高效阅读和深入理解书籍成为了一项必备技能。为了帮助用户提升阅读体验和...随着技术的不断发展,这类系统将会越来越智能化,为我们的阅读和学习带来更多的可能性。
编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建...《像程序员一样思考》教会读者如何系统化地解决问题,提供了众多的技术和实例展示如何组织思路、找到解决方案以及解决某一类问题的策略。
### 图书馆流通服务工作发展方向的几点思考 #### 摘要 图书馆作为公共文化服务的重要载体,其流通服务工作在文化传播和社会教育方面扮演着至关重要的角色。本文首先概述了图书馆流通服务工作的重要作用及其开展的...
然而,随着信息技术的进步和阅读习惯的改变,图书馆应更加关注用户需求,将读者置于服务的中心,通过个性化编目策略提升阅读体验。 2.2 编目工作外包 面对海量图书资源的增长,图书馆可以通过外包方式减轻编目压力...
【CVT网测题(技术类)】是一个针对求职者的技术能力评估测试,通常用于企业招聘过程中的初步筛选。这个2013年春季补招的CVT(可能指的是China Vanke Talent,即万科集团的人才选拔项目)网测题集涵盖了技术和行政...