上古的 MIT Lisp 机器系统软件的最后一个版本恢复成功

作者: Liam Proven 译者: wxy

| 2023-04-04 09:11:00   评论: 0

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

LM-3 项目宣布了 MIT CADR Lisp 机器 Lisp Machine 系统软件的第 100 版,这是它的最后一个版本。它既是一个新的版本,也是一个非常 古老的版本。

前两天,IBM 的 Eric Moore 在 LinkedIn 上发布了关于这个版本的 消息,他帮助了这项恢复工作。该项目的一个更详细的 帖子 描述了这个软件是什么,以及它是从哪里恢复的。

为什么这很重要?好吧,这款软件和它所运行的机器,是一场 “重要战斗” 的标志和纪念物。那场战斗是一场战争的一个阶段:一场以 “针锋相对的方式” 制造计算机的战争。“历史是由胜利者书写的”,温斯顿·丘吉尔 不是 第一个这样说的人。

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

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

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

这两种哲学被称为 “ 做正确的事 The Right Thing ” 和 “ 差点则更好 Worse is Better ”。

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

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

这篇文章只有短短几页,但如果你现在没有时间,用一句话可以概况,即 “差点则更好”。

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

但是,x86、RISC 和 CISC,以及 基于 Algol 的整个语言家族,包括从 BASIC 到 C++、到 Pascal、到 Go,基本上都是胜利一方的派别。而另一方现在几乎都被遗忘了,但有两个大的例子。一个是已故伟大的 约翰·麦卡锡 John McCarthy 创造的 Lisp,以及 整个基于 Lisp 的操作系统 所运行的 Lisp 机器。另一个是 Smalltalk 和施乐公司的 Alto

Symbolics 3620 (left) and LMI Lambda Lisp machines

麻省理工学院第一次尝试建造运行 Lisp 的计算机是一台 1974 年的原型机,名为 CONS,它以 Lisp 的一个关键词命名。1979 年,它更成功的后代被称为 CADR。CADR 计算机后来成为两家商业 Lisp 机器公司 LMI 和 Symbolics 的首批产品的基础,后者拥有互联网上的第一个 .com 域名。这些公司的成立,以及它们的软件的分拆,开始了 一个叫 理查德·斯托曼 Richard Stallman 的年轻黑客的职业生涯。

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

这次恢复的软件是麻省理工学院 CADR Lisp 机器的系统软件的最终版本。该软件是从麻省理工学院 技术广场磁带 Tapes of Tech Square (ToTS)收藏中的备份磁带上提取的,但它花了十年的时间来提取数据,对其进行清理,并使其在 35 年后首次运行。这是一个庞大的 工程

是的,如今可以运行这个软件,至少在软件模拟器上可以运行,比如最初由 Brad Parker 开发的 usim。它的源代码和一些历史都在 GitHub 上。



最新评论


友情链接
返回顶部