上学时学习广义相对论,用的是梁灿彬老师的《微分几何与广义相对论》,其中关于微分几何的讲解特别精彩。这本教材从集合这个最基本的概念开始,一步一步深入到拓扑,再到微分流行。只要有高等数学的知识,就能够顺着教材的章节从第一章一直读下去,读起来相当爽快。以至于我产生了一个天真的想法:是不是学习任何知识都可以用“累加式”的学习方法,“累加式”的意思是后面的知识点总是建立在前面学过的知识点的基础之上的,不会遇到“为了学习前面的知识点要先用到后面还没学过的知识点”这种情况。
感谢李笑来的新书《自学是门手艺》,我意识到,并不是所有的学习方式都是“累加式”的,还存在一种“跳跃式”的学习方式。例如,学习编程就是“跳跃式”的。无论哪种语言的编程教材,往往第一章就是教如何打印 "hello world!",但是“打印”这个命令往往需要到很后面才能解释清楚。
学习“跳跃式”的知识,对初学者有很大挑战,大部分人在一开始就放弃了。如果自学的是数学这种”累加式“的知识,那么整体感觉是先易后难。因为刚开始学习所需要的背景知识几乎是零,因此没有什么难度。随着不断学习,积累的背景知识会越来越多,需要用到的背景知识也会越来越多,因此也就越来越难。而学习编程这种“跳跃式”的知识,则是一开始会觉得很难,学了一段时间入门了,反而会觉得又容易了。因为一上来就要假装理解一些暂时还不能理解的概念,才能继续往下学习。
给自学者的一点建议——学习前,搞清楚所学知识的特点,不要轻易放弃。