说一下我个人的经历。当然我不是大牛。
我在三四年前,看科普文章,学到了一个词:费曼学习法。大概意思就是说,在学习一样东西时,把这样东西讲给别人(比如写科普文章),可以理解更深刻。
当时我在学习Rust,刚看完The Book,然后打算用Rust从零写一个Lua解释器,依次来巩固Rust。于是也就想试一试费曼学习法,把学习Rust和实现Lua解释器的过程记录下来。
花了大概一年多的所有业余时间(晚上和周末),才写完。这里不让发链接,可以搜索《用Rust实现Lua解释器》,是在 Github Pages上的。wubingzheng.github.io / build-lua-in-rust/zh/
最大的两个感受:
1、确实能够帮助更深刻的理解新知识。很多时候自己以为懂了,但只有当需要落实到文字的时候,才发现自己只是一知半解,很多细节并不确定。另外,写给别人看的话,很多时候就不能只讲这个解决方案,而是还要讲所有可能的解决方案,并对比优缺点,说明为什么选择这个方案。这些都会暴露自己的无知,并逼着自己去学习更多的知识。
2、真的太花时间和精力了。设计实现是一回事,给别人讲明白是另一回事。前者无关顺序,自己想怎么来就怎么来,只要最终结果。但写文章是线性的,是有顺序的,是有前后关系的。经常是几个功能相互依赖,就要花很多时间去梳理清楚先讲什么再讲什么。另外,也是我本人文字水平非常差,高中作文凑800字都难,所以又要花更多的精力来组织语言。
总结下来,这个经历是值得的,但性价比很低,至少退休前是没动力和精力再搞了。
--
FROM 124.90.222.*