MIT开放课程网站上的6.001,页面写着2005年春季,可点开视频,两位讲师用的是实物投影仪和老式显示器——这门课真正录制于1986年7月,讲者是Hal AbelsonGerald Jay Sussman,听众不是MIT学生,而是惠普公司的员工,录像由惠普电视部门制作。也就是说,你今天刷到的这20集视频,比页面标注的年份还要老将近二十年。

20集录像,三个年份别搞混

  • 视频.1986年7月,为惠普员工录制,共20集,Hal Abelson和Gerald Jay Sussman主讲。
  • 教材.内容跟着1985年首版《SICP》走;1996年第二版改写了不少程序、加了新章节,但整体主题和讲课顺序没变。
  • 页面.MIT OCW把它挂在2005年春季6.001课程之下,不是新出的课。
  • 授权.页面注明这些视频另有一个兼容商业用途的CC授权来源;OCW整站落款仍是通用的CC BY-NC-SA 4.0,转载引用得分清这两层。
四个年份,一门课 1985 首版教材出版 1986.7 为惠普录像 即这20集视频 1996 二版教材改写 2005 MIT OCW课程页

老课为什么啃得动今天的编程焦虑

这20集讲的是Lisp入门、高阶过程、复合数据、符号求导、模式匹配、状态与副作用、流、元循环解释器、逻辑编程、寄存器机、编译、垃圾回收——十个模块,没有一个框架名字,也没有一行讲怎么配环境。放在今天更像一份反教程:多数编程课在教你怎么用工具,这门课在讲工具背后是什么。

早期铁路教材教的是轮轨咬合和信号联动,不是哪家机车厂的说明书;设备换了几代,原理没换。SICP也是这路数——录像里的机器早进了博物馆,可解释器怎么求值、状态怎么带来副作用、编译器怎么把符号翻成机器码,这些道理没跟着硬件一起退休。子曰"温故而知新",老课能看,看的不是怀旧,是地基。

课程教的四层地基 Lisp与复合数据 过程、抽象、递归 状态与流 副作用、赋值代价 元循环解释器 用语言解释语言 编译与垃圾回收 机器怎么真的跑起来

工具会退休,解释器不会

今天大多数编程教程在教框架,框架的平均寿命也就两三年;真正稀缺的是像SICP这样把地基刨开给你看的课。它不是唯一标准,也不该被捧成编程教育的圣经——但对被工具更新拖着跑的开发者来说,少数愿意啃这种硬骨头的老课,回报率反而更高。

框架三年一换代,解释器的账,SICP三十多年前就替你算清了。
  • 提醒.视频跟的是1985年首版内容,如果手里是二版教材,程序细节要对照着看,别照抄。

下次再刷到这门课,先看清楚它到底是哪一年的东西——1986年的录像,2005年的页面,年份对齐了,才不至于被课程主页的时间线唬住。