最近工作轻松,时常会收到同事推荐技术书籍的邮件。可是我发现自己每次面对这样的书籍时,始终会产生一种小小的抵触情绪。于是,我很少会真正静下心来看这本同事推荐的书籍,即使勉强看过,我相信我从中获得的收获定没有那位同事多,因为和他相比我缺少针对这本书的学习主动性。由此产生灵感,我突然想简单总结一下自己这么多年来的学习心得。
第一,学习需要带有目的性。我们时常会听到这样的说法“先看看吧,说不定以后会用上”。记得三年前刚接触Java语言的时候,我看过一本“孙卫琴”写的《Java网络编程精解》,差不多花了一个月的时间把它通读。但是在后来的三年时间里,基本上没有做过Java网络相关的项目,以至于对Java网络编程的相关内容基本忘得一干二净,到现在我甚至都不敢承认我看过这本书。我们活在的是一个信息如此爆炸的时代,而我们的精力是如此有限,我们每天会花费大量的时间工作,社交,娱乐,休息,以及其它的一些生活琐事,通过带有目的性的学习才能够极大的调用学习的积极性,提高学习的效率。
我曾经分析过人们产生兴趣的原因,喜欢做某件事情的人,其实是能够及时获得做这件事情的好的回馈,这样就会更加投入的去做这件事情,然后又会获得更多的回馈,这样久而久之就会产生兴趣。这也是为什么有些人喜欢读书而另外一些人不喜欢读书的原因。带有目的性的学习往往会更快的获得学习的回报,让你更加热爱学习;反之不带目的性的学习,并不能够给与你及时的回报,你就会慢慢的怀疑学习的好处,渐渐的失去对学习的兴趣。
第二,学习应该自成体系。如果把某一个知识比作点,那么你应该做的是把这些点从横向和纵向连接起来,形成网状的体系。我举一个例子。我现在要学习Web应用开发。纵向的学习就应该是:从底层的Linux操作系统——MySql数据库——Apache Web服务器——后台Java开发语言——服务器端脚本语言JSP——客户端脚本语言JavaScript——HTML语言。从MySql数据库这个知识点出发横向的学习包括:数据库原理——关系数据库——MySql数据库——Oracle数据库——面向对象的数据库。有了这些横向和纵向的扩展,会不会就对Web应用开发有了更加全面和深入的理解了呢。
回过头来,你可以仔细的回顾一下自己的本科计算机教学。那些专业课程的安排像不像是一张“描述计算机科学的大网”,这样你就会很能理解教授们的良苦用心了。也正是有了对计算机体系的理解,科班的毕业生相比那些从职业学校培养出来的学生更受到用人单位的欢迎。因为有了计算机体系的基础你才能够有更加全局的考虑问题,才有更强的理解能力和创造能力。
第三,学习过程应该是“理论——实践——理论”的循环过程。这一点想必大家都很清楚,我就不多说了。
第四,“思考”让学习升华。人们所讲的某一领域的集大成者,实际上是对这一领域相关知识的“融汇贯通”。能理解事物与事物之间的联系的人,我们称之为专家。而能发现事物与事物之间联系的人,我们尊称为科学家,牛顿,爱因斯坦不外乎此类人。思考的实质是建立知识与知识之间的联系。某些人会觉得自己缺乏独立思考的能力,实际上是因为自己的知识布局还太稀薄,太难建立联系而已。