Dyalog 正在重制《Mastering Dyalog APL》。这本书首版出版于 2009 年 11 月,作者是 Bernard Legrand;现在,Rodrigo Girão Serrão 正在把它改造成基于 Jupyter Notebook 的在线互动版本。
静态在线版已经放在 mastering.dyalog.com,内容来自 GitHub 仓库 Dyalog/MDAPL 和一组 Jupyter Notebooks。但要先把话说准:它还不是完成版。页面已经标明这是 work in progress,缺少章节和小节,后续内容也可能大幅修订。
我更在意的是,这次重制补的不是“把书搬上网”这件小事,而是编程书最容易老化的一处短板:读者不能马上运行、修改和验证。
旧书的问题,不是旧,而是停在了纸面上
首版《Mastering Dyalog APL》对应的是 Dyalog APL 12.0 时代。对一本 2009 年的编程书来说,十几年过去,麻烦不只在语法或功能变化。
更大的变化是学习方式。
今天学一门语言,尤其是表达密度很高的语言,读者已经习惯在同一个页面里看解释、改代码、看输出。纸书里的示例再清楚,也要多走几步:抄代码、配环境、确认输入法和符号,再看结果。
对 Dyalog APL 来说,这几步更容易劝退人。APL 的符号、数组思维和主流语言差异很大。只看文字,容易产生一种“好像懂了”的错觉;真正改一个数组、换一个函数、跑一次输出,概念才会落地。
新版的处理方式比较克制。它会保留首版的部分原文和示例,也会更新解释、重写必要示例,并补充 Dyalog APL 12.0 之后的新内容。换句话说,它不是借旧名重写一本新书,而是在维护一份仍有价值的学习材料。
这对入门者的影响很直接:如果你正在学 Dyalog APL,旧版仍有参考价值,但新版更适合当作日常入口。因为它把“读”和“试”放近了。
Jupyter 版本真正改善的是试错成本
Jupyter Notebook 的价值不在形式新。它的关键是把说明、代码和输出放在一起。
这类形态在 Python 数据科学教材、机器学习课程、Julia 教程里已经很常见。Dyalog APL 现在跟进,谈不上早,但方向对。小众语言尤其需要这种低摩擦入口。
可以把变化压成一张表:
| 项目 | 2009 年首版 | 在线重制版 | 对读者的实际影响 |
|---|---|---|---|
| 作者/重制者 | Bernard Legrand | Rodrigo Girão Serrão | 旧书框架被保留,同时补入新解释 |
| 载体 | 印刷书 | GitHub + Jupyter Notebooks + 静态站点 | 更容易边读边试 |
| 内容基础 | Dyalog APL 12.0 时代 | 会补充 12.0 之后的新内容 | 能减少版本落差 |
| 当前状态 | 完整旧书 | work in progress | 可跟学,但不宜当定稿引用 |
这张表里最重要的是最后一行。
在线化不是完成度的保证。静态站点能访问,只说明读者现在可以读到一部分内容;Jupyter Notebook 在仓库里,也说明内容更适合互动和维护。但这不等于新版已经定稿。
对个人学习者,我会把它当作“主入口 + 可运行笔记”。看到示例就尽量改一改,不要只读。对课程作者、培训材料维护者或团队内部文档负责人,则要更保守:暂时不要把它写成固定章节引用,也不要把当前页面当作长期稳定链接来设计考核或课件。
这不是唱衰。恰恰相反,能公开维护,已经比一本多年不动的旧书更健康。只是学习入口和正式教材,不是一回事。
当前版本该怎么用:跟学可以,定稿不行
Dyalog 页面已经说明,当前在线版本仍在进行中。它缺少章节和小节,内容也可能经历大幅修订。
反馈渠道包括 GitHub issue 和 mdapl@dyalog.com 邮箱。这个信息要按文档维护来理解,不要误读成商业支持服务。读者可以提问题、报错、参与完善,但不能期待它像付费产品支持那样给出承诺。
最受影响的是两类人。
一类是 Dyalog APL 学习者。可以从静态在线版读起,同时留意 GitHub 仓库变化。遇到看不懂的地方,不妨回到 Notebook 里改输入、看输出。对 APL 这种语言,动手一次往往比多读三段解释更有效。
另一类是关注小众语言教材维护的开发者或文档作者。这个案例说明,老教材的更新方式正在变化。过去是等再版,现在更像维护一套可运行文档。好处是反馈快,坏处是版本边界没那么清楚。
接下来真正该看的不是“它会不会成为新经典”,而是几个具体变量:
- 缺失章节和小节何时补齐;
- GitHub 仓库里的 Notebook 与静态站点是否保持同步;
- Dyalog APL 12.0 之后的新内容会补到什么深度;
- 如果未来出现纸质版本,是否基于一个相对稳定的在线内容。
目前没有足够信息去推断章节数量、完成时间或印刷版上市安排。把它当成完成版,会高估当前可用性;完全忽视它,又会低估可运行教材对小众语言传承的意义。
旧书的难处不在“年代久”,而在没人继续修。修到能运行、能反馈、能改错,才算把一门小众语言的学习门槛往下挪了一点。
