前言
李笑来说 写程序的主要工作量,往往并非来自于编辑器里敲代码那个阶段。更多的工作量,其实在于如何才能在脑子里把整个流程拆解清楚,考虑到各个方面......
所以,编程,更多的是拿纸笔梳理细节的工作。一旦所有的细节都想明白了,落实成代码其实是飞快的-- --越是工程量大的项目越是如此。
自学是一门艺术,这是李笑来自学python所写的一本书,但实际上,这本书并不完全在写如何写python,而是在写李笑来先生的自学心得,在他看来“自学绝对可能也是绝对必要的”,他所总结的心得在我们看来也都是一些老生常谈的道理,正是因为这些让我们听得起茧子的道理,反而让我们大多数人总是停留在知道的阶段,难以逾越至做到。
那么自学的第一步是什么?
进入一个领域,先学习这个领域内一些实用的基础东西,让自己脱盲,在这个过程中我们总是能看到一些“过早应用”的内容,即需要掌握一定知识量才能理解的知识点,正是这些内容往往让我们在进入一个领域时心生畏惧,但实际上不管学习什么领域的知识,“过早应用”的知识点总会出现。
那该怎么应对这些“过早应用”的知识点?李笑来先生的建议是囫囵吞枣地看完整体,这一点与我的学习方式很类似,先把握整体的框架再补充细节,实际上在写这篇文章的时候,我也只是大概的浏览完这本书籍,提取整体的框架,重点关注我想知道的知识点。李笑来先生提到,将这些知识点囫囵吞枣地看完,再总结、归纳、整理、组织关键知识点,而我们认为的学霸跟我们的区别是他们总是在不断的总结、归纳、整理、组织,在他们的笔记上,总能看到各种自己汇总的图表。另外一个应对“过早应用”知识点的方法是记忆,先记忆知识点,不着急理解他的原理,先将知识点应用起来,我们先天就掌握这种先使用再了解原理的方法,只是我们从小的教育都是让我们从原理开始学习一个知识。
如何加强和巩固我们所学的知识?
李笑来先生给了我们一套方法,学、练、用、造。
学:不是简单的学会,而是在囫囵吞枣之后反复学习,我们所学的旧知识和新知识存在于两套系统中,旧知识因为长时间的应用,我们总能不假思索的使用出来,而新知识,我们的大脑非常的模式,也很排斥使用这些东西,在《思考快与慢》中有解释,这种新知识的应用需要我们消耗意志力,属于系统2。
练:刻意练习,在看完李笑来先生对于刻意练习的理解,我恍然大悟,在他们看来刻意练习的前一步还需要刻意思考哪些东西需要刻意练习,每次练习都在上一次练习的基础之上一步步提升
用:学习一个知识点时,我们能在网上看到非常非常多的应用案例,但这就完了吗,这个技能、这个知识点只能用在这个领域吗?看到这里我回想起了乔布斯在演讲时提到的他在大学期间学习艺术字体,最后将他用在mac电脑字体设计上的故事。
造:运用自学的新技能做自己想做的项目
道理很简单,但在实践过程中很难坚持下来,怎么办?李笑来先生并没有直接给出答案,但我的理解是给自己一点反馈,也就是造汽车之前先做滑板车、自行车、摩托车、再到汽车,每前进一步都能看得到自己的进步和成长,给予自己反馈。
具体可以怎么实操?在这本书中提到了一个方法,简单地理解为一个字“拆”。将任务进行拆解,而怎么拆解确实一门艺术,李笑来先生提到了两种方法,横向拆解和纵向拆解,横向拆解是一种比较常见比较普遍的方法,他适合用于拆解一些相对简单的任务,拆分成一个一个小阶段,这些小阶段组合起来就完成了这项任务,学习弹吉他先学一小段,刚开始可以很慢,可以跑调,学完这一段再学下一段;纵向拆解非常讲究艺术性,适合用于处理复杂的概念体系,完成就像上面所说,完成一个简单可以实现的版本,60分,再不断的修正其中的细枝末节,一步步的前进,70分,80分再到90分。