金磊 發自 凹非寺
| 公眾號 QbitAI
一段時隔整整50年的源代碼,更是讓微軟這家科技巨頭起家的源代碼,正式被公開了——
Altair Basic,整整157頁,由比爾蓋茨親自撰文發布。

在文章的開頭,比爾蓋茨對于這段代碼做了這樣的高度總結:
在Office、Windows 95、Xbox甚至人工智能問世之前,Altair Basic早已誕生。
Before there was Office、Windows 95、Xbox or AI,there was Altair Basic.

畢竟涉及Basic這門古早編程語言,以及個人計算機的發展源頭,網友們在看到比爾蓋茨的分享之后,也是感慨不已。
有人這樣點評到:
代碼如詩,歷史如畫。
想象一個“故障藝術展”:每個bug都是點睛之筆。
也有與現在AI大模型結合的感慨,同樣是認為詩意滿滿:
有趣的是,我們竟在一代人的時間里,從BASIC語言跨越到了訓練萬億參數AI模型。
若能以GPT-5將那段開啟個人計算革命的代碼轉化為藝術,想必會頗具詩意。
也有網友認為,Altair Basic代碼的公開,影響了無數程序員的編程之路:
而關于Altair Basic背后的故事,其中的各種細節,也被比爾蓋茨娓娓道來。
(為保留文章的“原汁原味”,比爾蓋茨的回憶將以第一人稱展開。)
Altair Basic,奠定微軟基礎的代碼我寫過的最酷的代碼
1975年,我和保羅·艾倫創立了微軟,因為我們堅信“讓每個家庭、每張辦公桌都擁有一臺計算機”的愿景。
五十年后的今天,微軟仍在不斷創新,讓生活更便捷、工作更高效。
能挺過半個世紀是一項非凡成就,若沒有史蒂夫·鮑爾默、薩提亞·納德拉這樣的杰出領導者,以及多年來所有微軟員工的付出,我們絕不可能實現這一目標。
盡管對周年慶充滿期待,但抵達這一里程碑卻令我百感交集。
我總愛回顧微軟的歷史并暢想它的未來,但難以置信的是,我生命中如此重要的部分竟已延續了半個世紀!
一切恍如昨日——我和保羅還弓著身子在哈佛計算機實驗室的PDP-10前,編寫著將成為我們新公司首個產品的代碼。
這段代碼至今仍是我寫過最酷的代碼。

△蓋茨和保羅在湖濱中學讀書時,就深深愛上了計算機
微軟的誕生故事,竟始于一本雜志。
1975年1月的《大眾電子》封面刊登了Altair 8800,這臺由MITS小型電子公司打造的突破性個人計算機套件,承諾為愛好者提供計算能力。
當我和保羅看到封面時,我們立刻明白兩件事:
個人計算機革命即將爆發。 而我們必須搶占先機。當時個人計算機幾乎不存在。我們知道,開發能讓人們為Altair編程的軟件,將徹底改變人機交互方式。
于是我們聯系MITS創始人埃德·羅伯茨,聲稱已為Altair 8800的芯片開發了BASIC編程語言版本。
但當下卻存在一個實實在在的問題:我們只是“聲稱”,并沒有真的做到。
所以,是時候開始開展工作了。
BASIC的基礎
BASIC語言由達特茅斯學院的兩位教授于1964年發明,它的設計初衷是讓毫無計算機經驗的人也能輕松掌握編程。
無需太多學習或技術天賦,人們就能用BASIC編寫自己的軟件——從支票簿管理程序到井字棋游戲無所不包。
這是我和保羅學會的第一門語言(至今仍被使用)。
BASIC這類計算機語言與英語等人類語言有著相同本質。
正如你可以用英語在咖啡館點單,也能用BASIC命令計算機運行程序、解算數學題或執行其他任務。

改寫BASIC
不過有個關鍵問題:計算機本身并不懂BASIC語言。
它們雖然能理解的語言復雜又反直覺,但編程難度極高。
為彌合這個鴻溝,我和保羅著手開發了BASIC解釋器——它能將代碼逐行翻譯成計算機可執行的指令。
我們曾考慮開發編譯器(一次性翻譯整個程序再運行),但最終選擇了解釋器的逐行翻譯模式。
這對編程新手更友好,因為能實時反饋代碼錯誤,方便隨時修正。

當發現自己的方法行之有效時,我感受到了無與倫比的成就感。

我數學成績向來優異,因此在這個過程中,我也發現了數學所需的邏輯思維與解題能力,對學習計算機編程大有裨益。

△我和保羅曾與里克·韋蘭同窗,他后來成為微軟的第二號員工一切就緒,準備開始
在方向和思路定下來之后,我和保羅決定分頭行動。
當時我們沒有Altair計算機使用的Intel 8080芯片,于是保羅開始在哈佛的PDP-10大型機上編寫模擬程序。
這樣我們就能在沒有實體Altair的情況下測試軟件。
與此同時,我負責編寫程序的主代碼,另一位朋友蒙特·大衛多夫則開發數學運算模塊。
為了兌現“已開發完成”的承諾,我們連續兩個月晝夜不停地編寫這套軟件。

△哈佛PDP-10的主機
但在這個過程中,也存在一個問題。
當時的計算機內存價格昂貴——Altair的擴展內存往往比主機還貴,因此每個字節都彌足珍貴。
我們設想:若能將BASIC代碼壓縮到僅4KB,用戶就既能運行BASIC編程,又能保留足夠內存運行自編程序(還省下大筆開銷)。
為了達成這個目標,我運用了緊湊數據結構和高效算法等優化技術。
這就像有趣的解謎游戲,雖然趕工交付Altair BASIC讓我們壓力倍增,但攻克內存限制的過程實在令人著迷。
微軟的誕生
歷經無數不眠之夜后(保羅甚至在飛往阿爾伯克基的航班上完成部分代碼),我們終于準備好向MITS總裁埃德·羅伯茨展示BASIC解釋器。
演示大獲成功,MITS同意授權這款軟件——這對我和保羅而言堪稱轉折點。
Altair BASIC成為我們新公司的首款產品,當時我們將公司命名為“Micro-Soft”(后來去掉了連字符)。

這段代碼竟引領微軟五十年的創新歷程,想來令人驚嘆。
在Office、Windows 95、Xbox乃至AI問世之前,一切始于最初的源代碼——
即便時隔多年,重讀這些代碼依然讓我心潮澎湃。
One More Thing
除了內容本身,網友們還紛紛評價起了比爾蓋茨這篇文章的設計:
博客設計得真棒啊!
和以往發布截然不同的是,鼠標所到之處,幾乎都會被翻轉成代碼符號。
嗯,也是跟主題非常應景了。

源代碼下載地址:
博客地址:
https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code





京公網安備 11011402013531號