阿波羅登月計劃背後的軟件先驅瑪格麗特·漢密爾頓(Margaret Hamilton)去世,享年 90 歲。麻省理工學院航空航天系發佈消息,確認她於 9 月 30 日在馬薩諸塞州劍橋離世,死因未公佈。MIT News 於 10 月 7 日刊發訃告,稱她是"領導阿波羅計劃軟件開發的計算先驅"。
漢密爾頓 1936 年 8 月 17 日出生於印第安納州保利,1959 年加入 MIT,在儀器實驗室軟件工程部一路做到部門主管。她的人生軌跡幾乎與現代軟件史同步:當大多數人還在用打孔卡與機器較勁時,她已經在爲送人上月球寫代碼。
1969 年 7 月,阿波羅 11 號登月艙下降到月面最後階段,機載計算機突然過載,警報燈在艙內頻頻閃爍。尼爾·阿姆斯特朗與巴茲·奧爾德林距離月面只剩幾分鐘,任何一個錯誤判斷都可能讓人類首次登月功虧一簣。
漢密爾頓團隊編寫的優先級調度軟件在此時發揮了關鍵作用:計算機自動捨棄次要任務,把算力讓給最關鍵的着陸操作。登月艙穩穩落下,休斯敦地面控制中心鬆了一口氣。CNN 在訃聞中寫道,正是這套軟件"阻止了阿波羅 11 號在最後時刻走向災難"。
漢密爾頓 1961 年隨部門拿下 NASA 合同後,領導約 100 名工程師,爲阿波羅制導計算機編寫機載飛行軟件。在那個"編程"還被視爲打雜手藝的年代,她堅持用"軟件工程"(software engineering)來命名這份工作,認爲軟件開發應當與硬件工程一樣,被當作嚴謹的系統工程對待。
這個詞後來成爲整個行業的正式名稱。MIT 在訃告中評價,她不僅自己寫出先進代碼,更帶領團隊用尚在襁褓中的技術,建成了"人類完成過的最複雜的系統之一"。
儘管貢獻巨大,漢密爾頓的聲譽沉寂了幾十年,直到近年才被重新發現。2016 年,時任總統奧巴馬向她頒發總統自由勳章,表彰詞寫道:"她定義了軟件工程的新形態,寫下了幫助美國人踏上月球的代碼。"
她一生髮表論文 130 餘篇,1976 年創辦 Higher Order Software,1986 年再創辦 Hamilton Technologies,均設在劍橋,並一直活躍在系統軟件前沿。MIT 航空航天系臨時主任、阿波羅計劃講席教授奧利維耶·德韋克悼念說:"說她是先驅、說她超越時代,都是輕描淡寫。"
漢密爾頓的離世,讓"軟件工程"這個詞回到了它的起點。從阿波羅的制導計算機,到今天無處不在的軟件系統,她證明了一件事:代碼不是附屬品,而是可以託舉登月艙的工程。
對於在美華人讀者而言,她的故事還有一層現實意義——在男性主導的 1960 年代工程界,一位女性工程師用一行行代碼把名字寫進了月球背面(字面意義上:她的軟件確實在月球上運行過)。MIT 的訃告標題只有一句話:計算先驅,90 歲。夠了。