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 LegrandRodrigo 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 之后的新内容会补到什么深度;
  • 如果未来出现纸质版本,是否基于一个相对稳定的在线内容。

目前没有足够信息去推断章节数量、完成时间或印刷版上市安排。把它当成完成版,会高估当前可用性;完全忽视它,又会低估可运行教材对小众语言传承的意义。

旧书的难处不在“年代久”,而在没人继续修。修到能运行、能反馈、能改错,才算把一门小众语言的学习门槛往下挪了一点。