一段時隔整整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語言由兩位達特茅斯學院的教授於1964年發明,它的設計初衷是讓毫無電腦經驗的人也能輕鬆掌握程式設計。
無需太多學習或技術天賦,人們就能用BASIC編寫自己的軟體——從支票簿管理程式到井字棋遊戲無所不包。
這是我和保羅學會的第一種語言(至今仍被使用)。
BASIC這類電腦語言與英語等人類語言有著相同本質。
就像你可以用英文在咖啡館點單,也能用BASIC指令電腦執行程式、解算數學題或執行其他任務。
不過有個關鍵問題:電腦本身並不懂BASIC語言。
它們雖然能理解的語言複雜又反直覺,但程式設計難度極高。
為了彌合這個鴻溝,我和保羅著手開發BASIC解釋器——它將程式碼逐行翻譯成電腦可執行的指令。
我們曾考慮開發編譯器(一次翻譯整個程式再運行),但最終選擇瞭解釋器的逐行翻譯模式。
這對程式新手更友好,因為能即時回饋程式碼錯誤,方便隨時修正。
當發現自己的方法行之有效時,我感受到了無與倫比的成就感。
我數學成績向來優異,因此在這個過程中,我也發現了數學所需的邏輯思維與解題能力,對學習電腦程式設計大有裨益。
在方向和思路定下來之後,我和保羅決定分頭行動。
當時我們沒有Altair電腦使用的Intel 8080晶片,於是保羅開始在哈佛的PDP-10大型主機上編寫模擬程式。
這樣我們就能在沒有實體Altair的情況下測試軟體。
同時,我負責編寫程式的主程式碼,另一位朋友蒙特·大衛多夫則開發數學運算模組。
為了兌現「已開發完成」的承諾,我們連續兩個月晝夜不停地編寫這套軟體。
但在這個過程中,也存在著一個問題。
當時的電腦記憶體價格昂貴——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/Oinal-Microsoft-SourceCode.Microsoft-Source
部落格網址:https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code (量子位元)