Reading "The Little Schemer"

最近看完了“The Little Schemer”的中文翻译, 所以想要这里写一下我的书评。

写书评之前最好援引参考资料:

  1. 出版社官网 :: https://mitpress.mit.edu/9780262560993/the-little-schemer/
  2. 免费英文版本 :: https://archive.org/details/isbn_9780262560993
  3. 中文翻译官网 :: http://www.broadview.com.cn/book/314
  4. 译者 卢俊祥 :: https://weibo.com/206476669 https://zhuanlan.zhihu.com/guagua
  5. 例子 :: https://github.com/pkrumins/the-little-schemer

实际上这是我第一本完全读完的书。 所以对我来说这个成果又痛又爽。 我开始学中文的时候没想到达到这样的中文等级会需要那么长时间。 我2013年开始,2024年可以说达到了“操作性程度”。

你可能已经感觉到了,本次短评更多的是关于我学习中文的过程,而不是关于“The Little Schemer”本身。

1. 什么是“The Little Schemer”?

“The Little Schemer”是一种与众不同的书。 IRC上我见过这样的介绍:针对8岁大的研究生最好的课文。 确实,这本书的语言风格模拟针对幼儿园少儿的书,虽然它的内容包含最出色的哲学和逻辑学中的思想。

1.1. 哲学和逻辑学

我也不能即兴发挥的回忆起另一本拥有那么高密度(重要性的逻辑思想)的书。 它提到:

  1. Collatz Conjecture (https://baike.baidu.com/item/%E5%85%8B%E6%8B%89%E8%8C%A8%E9%97%AE%E9%A2%98/3702918)
  2. 柯里化 (Currying) https://zh.wikipedia.org/wiki/Currying
  3. 停机问题 (https://baike.baidu.com/item/%E5%81%9C%E6%9C%BA%E9%97%AE%E9%A2%98)
  4. 阿克曼函数(https://baike.baidu.com/item/%E9%98%BF%E5%85%8B%E6%9B%BC%E5%87%BD%E6%95%B0/10988285)
  5. Y-组合子(非公司)

在书籍末尾读者甚至可以写出差不多全功能的表达式求值器。 (我不写直译器,因为引用的代码不满足写完整的直译器的需求。)

1.2. 风格

同时,它的说话风格真的像儿童读物。 所有的例子都涉及食物或者动物。 作者的说话方式你也可以在幼儿园听到,就像老师对小孩说的。

我有点喜欢,又有点讨厌这个风格。 因为它勾引你跟你的孩子一起学习Scheme,但是实际上这本书的内容对小孩来说还是太难。

1.3. 对话录

另一个很独特的方面是文本布局。 它像“柏拉图对话录”一样采用对话录形式。

左边列出作者对读者提问的问题,右边援引他自己的答案。 但是不要想答案是真的还是错的,因为大部分问题读者解答不了,需要作者解释。 反正这个写法很能激励学生好好思考。

其实我不太喜欢这个布局,我更喜欢“维特根斯但的”结构化写书风格。 但是我不能反对,介绍独特的学习方式。

2. 阅读流程

2.1. 中英两版的同原性

“The Little Schemer”的中文翻译版本有一定的好处。 它的页面排版跟英文版本是完全一样的。 所有中英文都是一对一的关系。 每个中文段落都有英文的对应,而且在页面上占有同样的位置。 所以用这本书学习中文(或者英文,如果你是中文母语者)非常的方便,推荐大家。

我在我的个人词典文件夹下创建了专门针对于“The Little Schemer”的文件(使用org-mode格式), 然后在每个标题中写了我遇到的不认识的词/字。 看完某些片段之后,我跟老师讨论这个词。

2.2. 代码用例

在这本书中的代码用例只要粘贴在大部分Scheme实现中,就可以跑。 我用过MIT-Scheme,但是大部分代码只需要使用很基础的操作,任何Scheme都能支持。

2.3. 结果格式化

我最喜欢在进行课程的时候创建交互式笔记本练习题,让自己回答并跟大家分享。 这种练习题笔记我可以放在我的网站上,大家可以下载和复习。

但是在阅读“The Little Schemer”的时候,我没成功实现这个想法,因为虽然代码例子都可以使用,但是难度变化幅度太大。 就是说,介绍某些话题的第一个,第二个,第三个测试用例都是很简单,不太需要自己跑,但是第四个突然很难。

3. 下一步

我打算继续阅读“The Little X”系列。 我一定会阅读“The Seasoned Schemer”。 此外,“The Little Schemer”的末尾列出很多参考资料,其中既有与数学和计算机相关的又有与文学相关的。 可能现在我会再一次阅读“Alice in Wonderland”(爱丽丝梦游仙境)?

4. 科普和普及编程

我坚定的认为,2024年的编程能力等于1900年的写作和阅读能力。 如果大家不会编程,自己就会被编程。

本次短评起始于“针对8岁大的研究生”。 实际上教小孩编程是很重要的任务,但是这本书并不满足需求。 我希望能找到可以分享给我的朋友的易读的入门编程课程。

5. 结语

我真推荐勇敢的同学们阅读这本奇妙的书籍,但是需要小心它的虚假的简单性。

6. 联系方式

如果您在此博客或其他页面中发现任何对您有用的内容,请订阅并打赏。 请您转发、分享和讨论,您的反馈可以帮助我变得更好。

Telegram
http://t.me/unobvious
GitLab
http://gitlab.com/lockywolf
PayPal
https://paypal.me/independentresearch