笨方法学 Python vs. 笨方法学写作

《笨方法学 Python》叫《笨方法练 Python》更准确。
古时的「学」有效法、模仿的意思,模仿就照着去做,一定要行动,不行动就算学,孔子曰「学而时习之」的意思就是说模仿行动后就要练习,反复练习才能增进技能。这样要注意,「习」的意思不是复习,而是练习。 现在「学」的意思变化了,变成了读书,读完书,学习理论才学算学。小时候老师说,你要学东西,并不是叫你去练字写作文而是叫你背文章,家长叫你去学东西,不是叫你去菜市场做算术题,而是记公式。
学习,本来意思是行动行动再行动,而不是读书读书再读书。
再回到《笨方法学 Python》这本书的书名,「笨方法」是说对了,但「学」字按照今人的理解可能有误导,更准确的是「练」,这本书一共 52 节,一节一个练习,有题目有答案,叫你一字不差的敲下来,你表面看这种方法笨吧,只需要模仿复制即可,但事实上很多人做不到,于是就想着有一本轻薄神秘小书,高人费尽七十年心血写就,里面藏七天就可让你成为高手的秘籍。这样的小书市场有没有卖?当然有,五块钱一斤,但如此练成的高手有没有?不好意思,一个都没有。
我看《笨方法学 Python》,除了学习编程,还有另一个想法:我想写一本《笨方法学写作》,不知道怎么写,就只能学,就从这本《笨方法学 Python》开始,先作为 100% 纯新手按照《笨方法学 Python》的练习原原本本练习一遍,感知难度变化,同时记录每次学习新知识领域的心态变化,最后回顾记录,模仿写出这本《笨方法学写作》。
所以,我可以很坦白地讲,《笨方法学写作》就是《笨方法学 Python》的模仿之作。模仿并没有什么可耻,好东西就学,学得到就是自己的。
在这篇文章,我已经尽量删去与Python 相关的术语,力图将此变成一篇学习卡片写作相关的教程,所以请放心阅读。
自 2017 年 9 月 8 日开始练习,至 2017 年 10 月 19 日,每天敲一两节练习,历时 41 天,敲练与记录心得同时完成,再花一天修订,刚刚是 42 天。我正按此书为蓝本写《笨方法学写作》,地址是 https://cnfeat.gitbooks.io/learnwritingthehardway/content/
前言
这本小书的目的是让学习卡片写作技能。书名叫笨方法,但书中使用的教学原理及练习题目并不笨,笨方法是指书中的练习方式,因为此书以习题为中心,你不能靠速成的阅读来学习写作,而能通过长时间的写作练习来学会写作。写作,是写作者的必经之路。
本书特点:
注重实践。主张学即是练,练即是学,不要问怎么开始学,先练了再说,练了再问。 注重最小行动。主张「日日不断,拱卒之功,不紧不慢,不疾而速」去做一件事。每天都要做的意思是,不能说今天忙把功课放到明天,也不能说今天比较闲,把明天的工作先做了,一定要每天做,每天做到哪里就是哪里,忠实自己,对得起良知。
本书结构
由 52 个习题构成,每个习题格式基本一致:目标技能、习题布置、优秀示范和加分题目。
你需要做的是
1、做每一道习题 2、对比范例修订 3、公开你的习题
本书只有一个提醒:坚持练习。万事开头难,但相信我,只要开始练,一切困难都会变得容易。学习任何知识都要付出时间练习,今天开始,给自己一段固定写卡片的时间吧,先行动起来,做完再说。开始了就不要放弃,你可以想象这是一段锻炼自己的坚持心智旅程,坚持是可贵的品质,获得这种品质是值得骄傲的事情。
写此书,我坚持两个原则:一是始终为写作新手服务;二是以道侍君,不可则止。如果你觉得此书是模仿拙劣之作,狗尾续貂不可学,那就不学,我也懒得解释,只能说你可能不属于我认为的写作新手,你可以继续找那种 7 天教你写 10W+ 的教程看。
如果你想诚心学好卡片写作,那我们就少废话,开始练习吧。
00 新手的告诫
没有什么技能是不能通过练习获得的,在练习写作过程中。你可能会陆续收到各种写作高手给你的建议,你可以在印象笔记建立一个「写作建议」的笔记本,将所有你听到看到的写作建议都放到那里收藏着,然后继续练习,一边练习,一边写练习感想,直到完成书中所有练习,你再回头看那些别人的「写作建议」,你会发现,那只不过你练习感想的另一种重复。
笨方法学写作,无非就是想告诉,别人告诉你的都不算自己的,自己做过的才算是自己的。
01 只有动起手来
不要害怕,一个一个文字写下来,你的勇气就充盈起来了,原来你以为很复杂的东西,其实可以手把手地教。 你可以在简书「笨方法学写作」专题投稿你的作品,标题按习题序号命名,普通习题格式为「笨方法学写作01:我的文章标题」,加分题格式为「笨方法学写作01加分题」,这样每个人看到同样的前缀标题就可以对号入座,对比同样题目下彼此文章或习作的不同,相互学习。
02 相信新手有动手的能力
相信学生有动手的能力,教会了一个步骤之后,之后不再赘述,不懂可以自己搜寻答案。
03 开始遇到瓶颈
你的问题也是别人的问题,不妨去找寻别人的答案。
04 每一个习题后有加分题
但没有参考答案,这些答案需要自己在社区寻找。其实对比别人的想法也是找到同好的过程。
05 开始出现比较陌生的术语
06 习题开始变长并开始有难度
07 更多更复杂的练习
08 形成自己的理解与风格
09 依然是练习,逐渐出现小的新知识
10 解释重要知识点
11 再次强调练习的重要,巩固练习
12 修订以往练习,发现新知识点
13 解释新知识点,实操学会
14 练习题越来越复杂
15 带领你进入更广阔的知识海洋
16 开始进入学习懈怠期,期待快速完成练习,但又不得不完成
17 好学而不求甚解
18 提醒使用卡片建立检查清单
19 确定模式,然后批量解决问题,这是编程思维
20 即使已经操作了还是不懂怎么办?
21 进程其实不能告诉你实质的东西
22 总结以往学过的知识
23 开始自行探索新世界
24 足够多的练习,锻炼你的毅力。
25 更多的练习,写写写,研究,弄懂它
26 考试:改写别人的文章
27 进入下一个关卡的重点备战:记住枯燥但重要的术语
28 开始直接使用这些术语来练习创作
29 继续是简单的练习
30 简单+稍微复杂的练习,出现新术语,先理解术语再写作业
31 继续巩固学习
32 出现复杂知识,不过还能接受
33 出现更复杂的知识
勉强可读懂题目和答案,但需要回顾以往知识点和加分题。加分题可能不会做,但没关系,看别人的答案还可以继续,千万不要卡住就好。记住要写下所有的疑惑,这些疑惑可能会随着练习的深入而解开。
34 遇到不懂的知识,学会网上搜索
此时你的知识已经可以在网上帮助解答一部分人的疑惑。因为你肯定不是第一遇到这个问题的人,也不是最后一个,所以,将你的理解分享出去是最好的学习方式。
35 出现了几乎是最长的例题
例题都是一张张的卡片组合,部分可以看懂,但出现疑问,不得不回头看以往的解释,不过看了半个小时依然看不明白,没有办法,一边敲一边跳过去吧,看看后面是否有更好的实际。这就有点不求甚解却真切笃行的意思了——果然,第一天理解不了的东西,第二天一大早醒来就突然开窍懂了。是的,可能是精神的问题,也有可能是问题还在你的后台运行。
36 写作、写代码和做项目一样
一开始要快速搭建好框架,想到后续可能出现的问题,然后才基础上添加一砖一瓦,将你想象中的图纸逐步变成现实。
37 大复习
列出一张你学过的所有知识点关键字,先尝试回忆出定义,写下来,不懂的再在网络上搜查答案。这个步骤很笨,但很重要,一定要做。我说过的,做过的,才算是自己的。
38 闯荡江湖的时候到了
利用学过的知识和技能阅读别人的文章
39 针对以前某个重要知识点重点讲解
这些讲解或许第一次看不懂,做完习题也看不懂,不妨到做完整本书的习题再来看一看,要相信自己。学习的畏惧往往都是自己给的,开始做了,那又不一样了。如果不懂,一定要标记,反正这个知识点你要重看一次的。
40 遵从必要难度理论,果然又出现新知识点
依然是看不懂,挑战舒适区,但不要紧,继续一个字一个字地敲, 敲完你就知道了。依然还是喜欢自己通过实践搞懂的东西呀,以后要学任何知识,还是极其希望以实践带动理论,当然,自己写的教程也必须是这样。
41 又出现一道最长的题目,足足有 7 页
但其实如果你熟悉各个代码的组块,核心信息也就那么几个,不要急,慢慢敲,敲下来,慢慢看,看不懂,看别人的理解。学习也就是那么一回事,所有代码都会变成你的专家组块。
发现另一个版本的《笨方法学Python》里面有不同的注解,全部学习完之后可以回头再看看这个版本的解释。
42 新知识点
42 陡峭的学习曲线
对上一道难题的程式演变,此时的习题难度忽然变得陡峭起来,稍微会有点不知所措,在网络也找不到相应的答案教程,嗯,其实对于新手还是挺难的,他日完全学会再回头过来看看这些习题,再做一做可能会有更深的理解。已经做到了 42 题,也就不怕继续前行了,你已经走到的人迹罕至之地,这里的风景特别美。
43 尝试创造作品
编程最好的实践就是制作一个项目,不管这个项目过程如何,你的目标就是先完成,再完美。为达成目标,你可以在网络搜索,可以请求帮助……总之使用你能想到的方法去完成——这都是你能力的证明。
如果对应到写作,你的任务就是开始写一本书的目录,尽可能参考市场最佳实践——畅销书,先写下目录卡片,再调整,再完善,最后再给师友给予建议。
到这个时候,你最好加入一个实践共同体或者一个师傅,you are not alone。
44 认知学徒制
笨方法其实就是认知学徒制的编程实践,前 4/5 是师傅带着学徒一起学习讲解,有反馈有指导,师傅在此阶段不灌输、不评价,核心是守,让学徒一个字一个字复制师傅的代码。到后面的 1/5 阶段,师傅帮助学徒设定目标,让学徒自行操作,不再教书本知识,而是以真实目标任务带动实践,间中给予原则或操作风格的正确指导,例如:
让你写的文本之间预留空白,营造呼吸感,舒服的文本才是好文本。 让你写的文本可以朗读,朗读可以让你思维与阅读速度一同降下来,同时并发现文本的可改进之处。 发现你喜欢的文本风格,不妨刻意模仿,直至找到自己的风格为止。 写代码遵从墨菲定律,一旦感觉一段代码需要注释,就要写注释,一定要写清楚为什么要这样写,短小精悍,就像是泰山上的诗句石刻一样。
45 重难点知识讲解
重点解读的是你在之前为减轻认知负荷而不愿意解释给别人的概念。 使用隐喻、例子和习题让人明白你在说什么,但注意,解释是要让问题变得更简单,而不是更复杂。
46 组建项目
为组建项目搭建脚手架,但是这个脚手架需要你自己去搭,师傅只告诉你搭建的方法,师傅的作用是指导,不是帮你动手。 注意分清重点,先做重点且难的部分,后面简单且可用搜索引擎可以搞掂的事情,师傅就可以不参与了。 项目演示很「酷」,但搭建项目的过程会很「烦」,因为建立好的基础总是需要好长好长的时间,就像是你每天早上五六起床反复敲代码般寂静。前路漫漫,习惯就好。
47 自动化操作
48 练习难度越来越高
49 独立做小项目
在师傅的协助下做小项目,师傅在实践中解释知识的工作原理,同时教学徒如何教——教自己与教别人。
50 出现 bug 的时候
51 创作并非时时充满乐趣,这是大实话。
学习也会无趣,有时你需要面对冗长枯燥的清单,也只能一个字一个字啃下去,当然你也要为解决某个问题快速学习,懂得使用最小成本法则搜索到答案。创作并非单纯的创造,创作也是学习。
52 完成庞大的项目
这个项目可能需要一个礼拜或者一个月才能完成,最好是有日日不断之功,每天写一点点,间中可能会遇上各种的问题,遇到暂时搞不明白可以先略过,因为这个项目仅仅是你学习的开始,日后你会阅读大量的书籍、论文和攻略,发现其他人对这个问题的描述,自然清晰明朗,所以不要怕,日日不断之功会为你积累自信。 学习任何东西都需要投入时间,所有人学习任意一方面知识之前都是笨人,使用笨功夫才是适合新手的平常方法,不要以为看几本畅销的速成方法书即可,你需要知道这些书往往是那些特殊的人写的,正因为他们特殊,才有出书的价值。
可怕的是人往往不相信这一套功夫,以为自己也是特殊的,就一直问,我都已经使用了你的方法,怎么还没成功?相信我吧,你我都是平常人,耐心做好自己,耐心学习,好事自然会来。
结语
我学习写作、认知科学、阳明心学、编程,也并不是想赚更多的钱,学习本身就是学习最好的奖赏,我学写作是想让自己更清晰思考,学认知科学是要做事更麻利,学阳明心学是想按良知做事,编程是想拓展认知边界……遗憾的是,以上任意一门知识目前都还不能成为我的职业,但如果你是医生,也会一点写作;你是产品经理,也懂一点认知科学;你是交警,也略知阳明心学;你是公务员,也会一些编程……那你就跟其他同事区别开来,这种「额外」的知识会让你获得尊重与自信,成为你赢得各种机会的秘密武器。
不过你仍需记住,成就是学习的结果,而不是原因。好好学习,好运气自然会来。
未来此文章将在《笨方法学写作》 Gitbook 更新:https://cnfeat.gitbooks.io/learnwritingthehardway/content/
ChangeLog
- 2017-09-08 动笔
- 2017-10-20 修订暂发布