上古的 MIT Lisp 机器系统软件的最后一个版本恢复成功
这是非常重要的、上古的计算机上运行的，古老软件的新版本。
Lisp
这是非常重要的、上古的计算机上运行的，古老软件的新版本。

> 
> 这是非常重要的、上古的计算机上运行的，古老软件的新版本。
> 
> 
> 


![](/data/attachment/album/202304/04/091132fa272ic7vcc5lupi.jpg)


LM-3 项目宣布了 MIT CADR <ruby> Lisp 机器 <rp>  （ </rp> <rt>  Lisp Machine </rt> <rp>  ） </rp></ruby>系统软件的第 100 版，这是它的最后一个版本。它既是一个新的版本，也是一个非常 古老的版本。


前两天，IBM 的 Eric Moore 在 LinkedIn 上发布了关于这个版本的 [消息](https://www.linkedin.com/pulse/mit-lisp-machine-final-version-recovered-after-35-years-eric-moore/)，他帮助了这项恢复工作。该项目的一个更详细的 [帖子](https://tumbleweed.nu/r/bug-lispm/forumpost/7475d8a3db) 描述了这个软件是什么，以及它是从哪里恢复的。


为什么这很重要？好吧，这款软件和它所运行的机器，是一场 “重要战斗” 的标志和纪念物。那场战斗是一场战争的一个阶段：一场以 “针锋相对的方式” 制造计算机的战争。“历史是由胜利者书写的”，温斯顿·丘吉尔 [不是](https://slate.com/culture/2019/11/history-is-written-by-the-victors-quote-origin.html) 第一个这样说的人。


这场战争和大多数战争一样，是两个 “对手阵营” 之间的战争。一方认为，制造计算机的正确方法是用最好的语言编写最好的软件，如果有必要的话，还要设计精工巧做的计算机来运行这些软件。另一方认为制造计算机的正确方法是制造小而快、容易而简单的软件和硬件，完成大多数人当时需要的工作。


同样，像大多数战争一样，这场战争是漫长而险恶的，双方都有一些肮脏的内斗。最终，有一方取得了决定性的胜利，但已经花了太长的时间，胜利者大多是开始战斗的那些人的后代和亲属。如今，他们甚至根本不记得有这么一场战争，而胜利的一方最终吸收了很多失败一方的想法和技术。最终的结果是，软件并不小而快，也不容易而简单。胜利的一方忘记了他们在战斗，也忘记了与之战斗的对手。


当胜利者忘记他们已经胜利了，也忘记了他们在战斗，这意味着失败者可以写一些最好的战争总结。一篇著名的报道是写自 1991 年的文章，名为《[Lisp：好消息，坏消息，如何大获全胜](https://www.dreamsongs.com/WIB.html)》，其中说：



> 
> 这两种哲学被称为 “<ruby> 做正确的事 <rp>  （ </rp> <rt>  The Right Thing </rt> <rp>  ） </rp></ruby>” 和 “<ruby> 差点则更好 <rp>  （ </rp> <rt>  Worse is Better </rt> <rp>  ） </rp></ruby>”。
> 
> 
> 


“做正确的事” 是麻省理工学院/斯坦福的设计风格。另一边呢？



> 
> 早期的 Unix 和 C 就是使用这种设计流派的例子，我将把这种设计策略的使用称为“新泽西方式”。
> 
> 
> 


这篇文章只有短短几页，但如果你现在没有时间，用一句话可以概况，即 “[差点则更好](https://www.dreamsongs.com/WorseIsBetter.html)”。


换句话说，一方从麻省理工学院和斯坦福大学开始，他们最终设计了一种叫做 <ruby> Lisp 机器 <rp>  （ </rp> <rt>  Lisp Machine </rt> <rp>  ） </rp></ruby> 的计算机。另一方建立了 Unix 和后来专用的工作站，以快速运行 Unix，这需要可以快速运行编译的 C 代码的特殊处理器，它被称为 RISC 芯片。英特尔和 AMD 将 RISC 的一些技术和方法改编为 486 和奔腾芯片，AMD 则改编为皓龙和 x86-64，结果是 x86 电脑最终将 RISC 工作站赶出了市场。不过，今天，由于高端的 [苹果芯片 Mac](https://www.theregister.com/2023/01/17/apple_m2_max_pro/) 和低端的 [RISC-V](https://www.theregister.com/2023/02/09/balthazar_free_hardware_laptop/)，RISC 正在复兴当中。


但是，x86、RISC 和 CISC，以及 [基于 Algol](https://www.theregister.com/2020/05/15/algol_60_at_60/) 的整个语言家族，包括从 BASIC 到 C++、到 Pascal、到 Go，基本上都是胜利一方的派别。而另一方现在几乎都被遗忘了，但有两个大的例子。一个是已故伟大的 <ruby> <a href="https://www.theregister.com/2011/10/24/father_lisp_ai_john_mccarthy_dies/">  约翰·麦卡锡 </a> <rp>  （ </rp> <rt>  John McCarthy </rt> <rp>  ） </rp></ruby> 创造的 Lisp，以及 [整个基于 Lisp 的操作系统](https://www.theregister.com/2022/03/29/non_c_operating_systems/) 所运行的 Lisp 机器。另一个是 [Smalltalk 和施乐公司的 Alto](https://www.theregister.com/2023/03/16/the_xerox_alto_50_years/)。


![Symbolics 3620 (left) and LMI Lambda Lisp machines](/data/attachment/album/202304/04/090948ij8pf2m2f8r7e2vk.jpg)


麻省理工学院第一次尝试建造运行 Lisp 的计算机是一台 1974 年的原型机，名为 [CONS](http://gunkies.org/wiki/CONS)，它以 Lisp 的一个关键词命名。1979 年，它更成功的后代被称为 [CADR](http://gunkies.org/wiki/CADR)。CADR 计算机后来成为两家商业 Lisp 机器公司 LMI 和 Symbolics 的首批产品的基础，后者拥有互联网上的第一个 .com 域名。这些公司的成立，以及它们的软件的分拆，[开始了](https://www.gnu.org/gnu/rms-lisp.html) 一个叫 <ruby> 理查德·斯托曼 <rp>  （ </rp> <rt>  Richard Stallman </rt> <rp>  ） </rp></ruby> 的年轻黑客的职业生涯。


这条蓝色的导火索启动了 Emacs、GNU 项目，以及 <ruby> 自由软件运动 <rp>  （ </rp> <rt>  Free Software movement </rt> <rp>  ） </rp></ruby>。该项目建立了 GCC 等工具，这些工具被用来创建 Linux，而 Linux 本身也启动了 <ruby> 开源运动 <rp>  （ </rp> <rt>  Open Source movement </rt> <rp>  ） </rp></ruby>。


这次恢复的软件是麻省理工学院 CADR Lisp 机器的系统软件的最终版本。该软件是从麻省理工学院 <ruby> <a href="https://archivesspace.mit.edu/repositories/2/resources/1265">  技术广场磁带 </a> <rp>  （ </rp> <rt>  Tapes of Tech Square </rt> <rp>  ） </rp></ruby>（ToTS）收藏中的备份磁带上提取的，但它花了十年的时间来提取数据，对其进行清理，并使其在 35 年后首次运行。这是一个庞大的 [工程](https://tumbleweed.nu/lm-3/)。


是的，如今可以运行这个软件，至少在软件模拟器上可以运行，比如最初由 [Brad Parker](http://www.unlambda.com/) 开发的 [usim](https://lisp-machine.org/hacking-usim-a-mit-cadr-lisp-machine-emulator/)。它的源代码和一些历史都在 [GitHub](https://github.com/unya/usim) 上。




---


via: <https://www.theregister.com/2023/03/31/mit_cadr_software_recovered/> 


作者：[Liam Proven](https://www.theregister.com/Author/Liam-Proven) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](/article-15684-1.html) 荣誉推出

