大学里面有一门类似的选修课, 但是我之前没好好学习, 文章也瞎写, 直接挂科了. 那个学期, 我得到了大学中 唯一一个挂科50分和唯一一个满分100分. 真的太巧合了, 100分那个文章在牡丹灯记, 50分的文章就不贴了.

我看的视频是这个, 有中英字幕, 还不错.

如果放在一篇文章里面, 大家肯定都不想看了, 因此分了几篇内容, 希望读者可以挑自己有兴趣的部分, 强烈建议读者至少先把SICP的第一章看完. 我为了自己加深理解也用JS重写了一次, 都贴了JS版本, 不想下载mit-scheme的朋友可以用JS的版本进行调试.

总结

博客仅仅是把我学到的一点思考与大家分享, 如果有兴趣建议还是看看视频. 也不一定说非要学到什么东西, 会不会对业务有什么实质性帮助, 观察一下不同的思考方式也是不错的. 里面也有一些哲学问题的思考, 比如下面几个问题:

  1. 到底为什么有面向对象(把真实世界的物体想象成对象有什么好处), 对象的内部状态带来了什么
  2. 程序的编排一定要反应时间吗, 放弃程序的执行时序之后, 我们能获得什么
  3. 当我们谈论一个语言的时候, 我们对这个语言的预期是什么, 应该关注它的什么

不要再去简单的说scheme语言是手写语法树, 只是它的表达形式很像语法树, 我个人感觉它更像是从数学的角度或是电气工程的角度去看待和描述世界.