进行比较简单的学习时,专家或者教师往往给初学者这样一种建议:以学习Java为例,初学者最好学习C语言,掌握基本的语言概念;然后编写Java版的helloworld,然后学习基本的java.lang, java.util库,在学习的过程中不断体会OO的概念;然后根据需要,学习某一方面的如网络,UI, WEB等等……
很明显,这是一个箭头状的直线学习图。但是实际上没有人纯粹的依赖这些建议或指导来学习成功,最终往往是两种结果:一种是学习过程枯燥无味,最终放弃或者依靠毅力苦苦挣扎;一种是在学习过程中不断参照已有知识,反复印证参考,最终其乐融融小有所成。
大部分人都处于第二种状态,或者自己没有意识这一点,在积累越多的工作者身上体现越明显。大脑是一个圆,需要学习来刺激使他膨胀,线状的学习思路会违背几何规律,最终让自己疲惫不堪,充满挫折感。
所以,学习,不断的学习,不限于技术方面的学习。这一点在Java领域表现得尤为明显。Spring的核心作者Rod Johnson在音乐上的造诣与技术不相上下,大多数国内J2EE技术比较强的人都有哲学背景。所以,一定要不断的学习,不仅要对技术世界,开源领域自己业务范畴内的技术永远保持敏感,而且要不断花时间充实自己其他方面的积累。总有一天,比如你在文学上的一个灵感会让你的设计充满惊叹;或者你在打桌球领悟到业务架构可以更加优化一些。
学习与年龄无关,与惰性有关,所以,保持学习的劲头,活到老,学到老。网状的学习过程,不限于本行业的学习视野,不断的体会领悟的积累,会让学习真正成为快乐。
------------------------------------------------------------------------
PS:看了这个文章很受触动。的确,我原来就是一直用一种直线的学习方式学东西。 我最近制定的学习计划也是这样的。看样子要改。
我把我的程序学习分成2个部分。
大的方向上,多接触软件工程类的知识,虽然我想我可能不能全部理解。
我想通过学习VB,用它做些小的程序,掌握一个具体的工具,理解一个程序开发的整个框架。
然后,在这个大的框架下,学习OOP,
学习数据结构,
学习算法。