整整157頁,比爾蓋茨親自公開微軟起家的原始碼:AltairBasic

金磊 發自 凹非寺量子位 | 公眾號 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://images.gatesnotes.com/12514eb8-7b51-008e-41a9-512542cf683b/34d561c8-cf5c-4e69-af47-3782ea11482e/Original-Microsoft-Source-Code.pdf
部落格地址:https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code
一鍵三連「點贊」「轉發」「小心心」
歡迎在評論區留下你的想法!
—  —
速搶席位!中國AIGC產業峰會觀眾報名通道已開啟 🙋‍♀️
最新嘉賓曝光啦 🔥 百度、華為、AWS、無問芯穹、數勢科技、面壁智慧、生數科技等十數位AI領域創變者將齊聚峰會,讓更多人用上AI、用好AI,與AI一同加速成長~
4月16日,就在北京一起來深度求索AI怎麼用 🙌 點選報名參會

🌟 一鍵星標 🌟
科技前沿進展每日見

相關文章