学习是一辈子的事情,对于程序员来说更是如此,所以如果没有学会享受学习过程的乐趣,那么学习将会是你人生的一个重压。
以学习数据结构为例。大家都知道,对于程序员而言,数据结构是基础,是必须学会的课程。但是现在很多语言,细节都封装得很好,比如Java、.Net、PHP,几乎都不需要你用到多少数据结构与算法的知识,以致于很多人觉得,我就不会数据结构,我还不一样好好工作吗?这就是浮躁的开始了。
的确,对大部分程序员来说,工作上很多时候不需要用到数据结构。但是你会发现,工作若干年后,你的技术水平会停滞不前,做的东西总是CURD,再加上一点设计模式,再者可能有NoSQL、memcache之类的应用。但是,当你写这些代码写到疲软的时候,你会发现这些都是应用层面的东西,别人做好的现成的东西,到你想理解它们底层与原理的时候,没有数据结构与算法的知识支撑,你会很吃力。勿在浮沙筑高台,尽管你开源软件用得多好,如果不去理解计算机的底层,顶多也就是个高级点的码农。
要走出浮躁的泥沼,只要理解一句话就行:
学习的真正乐趣不是因为它有用,而是因为学习的过程本身有趣。
所以你需要去发现学习过程有哪些乐趣,还是拿数据结构的学习为例。
1. 数据结构的学习在短期内不会对工作有什么效果,但它是对未来以及自己的投资。学习它你一定不要浮躁,不要觉得它短期内收益不大就不去学习。摒弃浮躁的第一步就是,不要带着功利的眼光去学习。
2. 数据结构的学习几乎都是从线性表开始,然后讲到最重要的单链表。单链表的基本操作就建表、插入、删除、查找等,如果你把这些操作都学完了,是不是该立即进入堆栈的学习呢?我的建议是,不。“学习”是一个实际上不应该分割的词汇,只有“学”没有“习”将必然导致肤浅。当学完单链表的基本操作,你需要做更多的“习”。这时候你需要尝试着研究下面的问题:单链表的逆序、求单链表的倒数第N个元素、单链表的排序、单链表的环……等等。当你对单链表的学习进入某种境界,才进入堆栈的学习,这样你的单链表就很扎实,同时学习堆栈也会变得很有效率。你可以参考我之前所做的专题:《数据结构物语卷二》
千万不要觉得这很浪费时间。左学点右学点,散沙式的学习才浪费时间,连续的思考才是高效的。
3. 享受思考的乐趣。数据结构一开始学也许你会觉得有点难,比如插入一个数据都要涉及几个结点的地址操作,但是当你思考并完全理解为什么这么做,你会有一种豁然开朗的感觉。并且更重要的是,每解决一个单链表的问题,就相当于做了一次思维训练。思维训练做得多了,对单链表的理解就更深了,以后解决问题就更快。我们可以这么认为,每做一次思维训练,都能够使我们的思维加速,使我们的大脑加速。为什么牛人一看问题就能知道如何解决?很简单,因为他做过普通人无法想象的大量的思维训练,正如巴菲特7岁就开始拜师学投资一样。没有人天生就是大牛,对吧?
4. 关于学习的欲望。很多人心里知道,我要学习,但是总是容易被分心。一会看看微博,一会折腾下其它什么东西,结果半天还没看得进一点东西。不要假学习,不要为不学习找理由,没钱?没时间?累?只要你内心坚定且欲望强烈,就会主动学习。
可以看看这篇文章:另外八小时,用辛勤换幸福。如果能把写博当作是一种放松,如果能把写博当作一种享受,不带任何功利的杂质,那么你就会非常强烈地想去写博。(对我来说,写博就是学习)
你可以尝试下早上6点半起来,学习一个小时再去上班,效果很好。这篇文章就是我早上6点多开始写的。学习大部分时间是一个人的活动,难免会有孤独感,当你精力高度集中时,孤独感会减少。当你全神贯注的时候,甚至会感到身心愉悦。“耐得寂寞不寂寞,耐不住寂寞反寂寞。”
5. 不要被厚厚的书吓住。有的人也许会说,你看,数据结构那么多章节,你光单链表这一章就做了一百多个练习,花了一两个月,什么时候才能看得完啊?我说,学习没人逼你进度,随意看,什么时候觉得自己精通了再转入下一个学习阶段。过早地进入下一个阶段只会让你过早地忘记前面的知识,比如草草地看了单链表的基本操作,就去学堆栈,过一个星期我问你单链表的反转,你也许就会一时想不出。所以我认为:
坚持做一件事,直到达到一个境界——至于是什么境界,我不知道,你才知道——然后才开始做另外一件事。
6. 你对学习有如饥似渴的感觉吗?对待学习,我很推崇完美主义。比如单链表的基本操作弄懂了,写程序过了一遍,然后开始研究它的各种常见操作。都研究完了,开始研究比较少见的操作,带头结点与不带头结点的都要过一遍。然后翻遍互联网,看看有没自己疏漏的。发现有疏漏的,你会很高兴,马上再写程序自己过一遍。直到Google搜索“单链表”前100页的结果你都能马上知道什么回事,知道怎么做,嗯,那就差不多了。
很疯狂吗?在常人看来也许是。但是对我们自己来说,不这么做,很难达到某种境界,或者说,精通。对知识的如饥似渴的时候,当得到新的发现新的知识,你会得到很大的满足感,而且一路走来的成就感,也是对你之前努力的最大回报。
那么,从现在开始,逃离浮躁的泥沼,享受学习过程的乐趣。