阅读本文大概需要 3.9 分钟。
这几天想起之前的一次面试,对方问我一年看几本书。
我一年看的书大概在3到10本之间,不过绝大部分都跟计算机技术无关(小说偏多)。很不好意思地回答说:“跟技术有关的,很少”。
之所以不怎么看这方面的专业书,有两个主要的原因:一是因为当时还没有这个学习意识,工作之余不是小说就是游戏,要不就是刷刷抖音;二是因为技术书都比较枯燥,简单浏览下,都不是很感兴趣。
从去年开始,我自己不断发生一些好的改变(经历了某件事),可能在那么一瞬间长大了,也变成熟了。突然间不在喜欢玩游戏,不在沉迷小说(偶尔还是会刷下抖音,玩玩游戏),这些再也对我没什么吸引力了。得益于对这些东西的不感冒,我拥有了大量可支配的时间,奢侈的将它们全部用在了学习上。
学习中的一项规划就是看书,买了很多书籍,计算机类的,技术类的,心理类的,管理类的等等。书作为一种信息的容器,虽然讲心理学的书、讲社会学的书跟讲编程的书、讲计算机技术的书很不一样,但都有着不少的共同点。
写这篇文章,希望能跟大家分享一些阅读过程中的思考和感想。
1、烂书很多
很多程序员买了书不看,不是因为懒,而是因为有些书太烂。
好书有各种各样的好,而烂书的特征却几乎都是相同的,它们的缺点基本上都是一模一样。
阅读体验差。不知道是不是因为想省钱,书的质地跟盗版书有的一拼。书页泛黄,字体难看,排版糟糕;作者的表达能力低下,连简洁和准确地讲述一个核心概念都做不到,让人很难有继续看下去的心情。
逻辑性弱。一本好的书,应该做到章节与章节之间有连贯性,使得阅读坡度平缓,信息密度才会高。但是很多烂书是东讲一点,西谈一些,整本书看下来不知所云。
思想层次低。讲解各种著名开源框架、开源组件的书非常多,但是其中很多书都只是在讲怎么用,简直就像精简版的说明文档翻译。其实,把“为什么要用”和“这样用有什么好处”这两个问题讲清楚,更有价值。
2、好书不少
在所有书当中,好书所占的相对比例肯定不高。但是在绝对数量上,值得我们买回来看、花时间学习的好书却不少。
如何判断一本书是不是好书呢?基本上只要花最多半个小时翻一遍,就能确定答案,准确率随着你阅读数量的增加而升高。
阅读体验好。基本上看完前言和第一章就能知道好不好,就像我们用一个手机上的软件,只需要很短的时间就知道用户体验是不是及格。
逻辑性强。看完整本书,如果章节与章节之间联系紧密,读完前一个章节有助于读后一个章节,基本上可以判断这是一本有条理的书。
思想层次高。我们看的很多书都是讲某一项或某一类具体的技术,但是如果它们在讲解技术细节之余还能拔高到更高的层次,提取技术之间的共性,谈论技术的思想,则有助于我们更深入理解这些技术,而且在学习其他的新技术时也更为容易。
3、看书的基本方法
在最近看技术书的时间里,我经常会跟之前看非专业书时的阅读经历做对比。下面谈谈我自己认为在阅读技术书籍时可以借鉴的几个基本方法。
一、浏览。现在我们都基本是在网上买书,所以可以先看看别人的评论和网站给出的目录、书摘。在一轮筛选完之后,把买回来的书都快速看一遍。看第一遍的时候要快,不要看得太仔细。如果是烂书,立刻扔在一边或者申请退货。如果是好书,你就能有一个大概的印象,有助于进行下一个环节。
二、细读。在把书浏览过一遍之后,我们可以开始认真地读,阅读速度也要相应地降下来。在阅读的过程中,我会习惯于把认为重要的句子和内容划线,也会把暂时看不明白的部分做上记号。这不仅可以强迫自己保证阅读的投入程度,还对进一步的学习有帮助。
三、研究。能经过筛选进入到这个环节的书已经相对不多了,基本上能确定这是一本对你来说非常重要非常有用的书。我读书一般最多读三遍,在读第三遍的时候花时间是最多的,而且远比前两遍要多得多。这个时候要做笔记,把你认为重要的内容都摘抄下来,或者裁切下来。虽然现在笔记类应用很多,例如印象笔记、One Note和Bear等,但是我还是比较推荐大家考虑使用纸质笔记本来做读书笔记,记忆效果特别显著。
结束语
程序员很多都有看技术博客的习惯,而且也有很多优秀的博客达人为我们提供优质的内容。但是,书籍作为另一种信息容器,跟博客这种形式的信息容器是有本质区别的,而且能发挥的作用也不一样。
下面推荐几本我认为值得读的好书:
《未来简史》 尤瓦尔·赫拉利
《暗时间》 刘未鹏
《深入理解Java虚拟机》 周志明
《架构探险-从零开始写Java Web框架》 黄勇
《架构探险-轻量级微服务架构》(上下册) 黄勇
《MyBatis从入门到精通》 刘增辉
前两本不是专业书,但是我还是推荐程序员们都看一看,非常值得一读。剩下的都跟Java有关,因为我本身是Java开发方向的。
书单纯属抛砖引玉,希望你们可以在评论区说一说自己认为好的技术书有哪些。
·END·
路虽远,行则必至
本文原发于 同名微信公众号「程序员的成长之路」,回复「1024」你懂得,给个赞呗。
微信ID:cxydczzl