上古的 MIT Lisp 機器系統軟體的最後一個版本恢復成功
LM-3 項目宣布了 MIT CADR Lisp 機器 系統軟體的第 100 版,這是它的最後一個版本。它既是一個新的版本,也是一個非常 古老的版本。
前兩天,IBM 的 Eric Moore 在 LinkedIn 上發布了關於這個版本的 消息,他幫助了這項恢復工作。該項目的一個更詳細的 帖子 描述了這個軟體是什麼,以及它是從哪裡恢復的。
為什麼這很重要?好吧,這款軟體和它所運行的機器,是一場 「重要戰鬥」 的標誌和紀念物。那場戰鬥是一場戰爭的一個階段:一場以 「針鋒相對的方式」 製造計算機的戰爭。「歷史是由勝利者書寫的」,溫斯頓·丘吉爾 不是 第一個這樣說的人。
這場戰爭和大多數戰爭一樣,是兩個 「對手陣營」 之間的戰爭。一方認為,製造計算機的正確方法是用最好的語言編寫最好的軟體,如果有必要的話,還要設計精工巧做的計算機來運行這些軟體。另一方認為製造計算機的正確方法是製造小而快、容易而簡單的軟體和硬體,完成大多數人當時需要的工作。
同樣,像大多數戰爭一樣,這場戰爭是漫長而險惡的,雙方都有一些骯髒的內鬥。最終,有一方取得了決定性的勝利,但已經花了太長的時間,勝利者大多是開始戰鬥的那些人的後代和親屬。如今,他們甚至根本不記得有這麼一場戰爭,而勝利的一方最終吸收了很多失敗一方的想法和技術。最終的結果是,軟體並不小而快,也不容易而簡單。勝利的一方忘記了他們在戰鬥,也忘記了與之戰鬥的對手。
當勝利者忘記他們已經勝利了,也忘記了他們在戰鬥,這意味著失敗者可以寫一些最好的戰爭總結。一篇著名的報道是寫自 1991 年的文章,名為《Lisp:好消息,壞消息,如何大獲全勝》,其中說:
這兩種哲學被稱為 「 做正確的事 」 和 「 差點則更好 」。
「做正確的事」 是麻省理工學院/斯坦福的設計風格。另一邊呢?
早期的 Unix 和 C 就是使用這種設計流派的例子,我將把這種設計策略的使用稱為「新澤西方式」。
這篇文章只有短短几頁,但如果你現在沒有時間,用一句話可以概況,即 「差點則更好」。
換句話說,一方從麻省理工學院和斯坦福大學開始,他們最終設計了一種叫做 Lisp 機器 的計算機。另一方建立了 Unix 和後來專用的工作站,以快速運行 Unix,這需要可以快速運行編譯的 C 代碼的特殊處理器,它被稱為 RISC 晶元。英特爾和 AMD 將 RISC 的一些技術和方法改編為 486 和奔騰晶元,AMD 則改編為皓龍和 x86-64,結果是 x86 電腦最終將 RISC 工作站趕出了市場。不過,今天,由於高端的 蘋果晶元 Mac 和低端的 RISC-V,RISC 正在復興當中。
但是,x86、RISC 和 CISC,以及 基於 Algol 的整個語言家族,包括從 BASIC 到 C++、到 Pascal、到 Go,基本上都是勝利一方的派別。而另一方現在幾乎都被遺忘了,但有兩個大的例子。一個是已故偉大的 約翰·麥卡錫 創造的 Lisp,以及 整個基於 Lisp 的操作系統 所運行的 Lisp 機器。另一個是 Smalltalk 和施樂公司的 Alto。
麻省理工學院第一次嘗試建造運行 Lisp 的計算機是一台 1974 年的原型機,名為 CONS,它以 Lisp 的一個關鍵詞命名。1979 年,它更成功的後代被稱為 CADR。CADR 計算機後來成為兩家商業 Lisp 機器公司 LMI 和 Symbolics 的首批產品的基礎,後者擁有互聯網上的第一個 .com 域名。這些公司的成立,以及它們的軟體的分拆,開始了 一個叫 理查德·斯托曼 的年輕黑客的職業生涯。
這條藍色的導火索啟動了 Emacs、GNU 項目,以及 自由軟體運動 。該項目建立了 GCC 等工具,這些工具被用來創建 Linux,而 Linux 本身也啟動了 開源運動 。
這次恢復的軟體是麻省理工學院 CADR Lisp 機器的系統軟體的最終版本。該軟體是從麻省理工學院 技術廣場磁帶 (ToTS)收藏中的備份磁帶上提取的,但它花了十年的時間來提取數據,對其進行清理,並使其在 35 年後首次運行。這是一個龐大的 工程。
是的,如今可以運行這個軟體,至少在軟體模擬器上可以運行,比如最初由 Brad Parker 開發的 usim。它的源代碼和一些歷史都在 GitHub 上。
via: https://www.theregister.com/2023/03/31/mit_cadr_software_recovered/
作者:Liam Proven 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive