原来学一个编程的一个知识点(具体是什么知识点不记得了),然后在看解释这个知识点的文章过程中发现有至少有3个知识点是自己不知道的。
当时我就面临一个选择,是继续将那3个知识点搜索一下去弄懂,还是就这样将那3个知识点忽略或简单看一下是怎么回事。
当时我选择的是后者,因为我当时考虑的是,这一个知识点解释的里面就有3个我不知道的东西,如果继续看这3个知识点,是不是会有3*3=9个知识点,即使没有这么多也会有2-3个吧,然后想象一下为了弄懂1个知识点,需要先弄懂很多个知识点,感觉离自己要弄懂的知识点越来越远,并且想到可能到最后自己迷失在这些知识点里,都不知道自己一开始想要学的是什么。
因为这种选择,我发现每看一个知识点都会遇到类似的问题,结果是这些知识点在我脑中是相对独立的,并且这些知识点很多是知其然不知其所以然,让自己感觉很多名词都听过或学过,但是却说不出个所以然来。
在昨天和技术大神聊的时候说出过这个疑问,大神说学习知识点就有点像递归,遇到不懂的就去看,就这样一直下去,一直到硬件原理,然后再一层层回来。当然这其中记录就很重要,不然就会遇到我上面所说的迷失在知识点里都不知道研究的是什么。
什么是递归,我这里简单说一下,比如你在排了一个很长的队(看不到头),你想知道你前面有几个人(你也在排队不太可能一个个去数),你就问前面的人,这个问题(“你前面有几个人”),你前面的人很可能也不知道,于是同样的问题问他前面的人,直到问到第一个人,然后第一个人回答第二个人,第二个人回答第三个人,最后你前面的人回答你,你也就得到了答案。
递归包含两个过程,递进和回归,不断问前面的人就是递进,前面的人回答后面的人就是回归。
当然采用递归的方式学习,就是效果反馈比较慢,这也是我一开始没有选择这种方式的原因,也很折磨人因为一开始有一个远离的过程,但是没有想过这种方式,学习会越来越快。这不禁让我想起了一句话“慢即是快”。
网友评论