← 返回 Siami 首頁

登月軟體之母 Margaret Hamilton 逝世享耆壽 90 歲——一手催生「軟體工程」一詞的程式先驅

▲ 869 💬 101
登月軟體之母 Margaret Hamilton 逝世享耆壽 90 歲——一手催生「軟體工程」一詞的程式先驅

編按:本文綜合整理自 MIT News 原稿、BBC News 報導、NASA 阿波羅 50 週年頁 與維基百科 Margaret Hamilton 條目,並加入 Siami 編輯部觀點與分析。

電腦科學界最具代表性的人物之一 Margaret Hamilton 於 9 月 30 日逝世,享耆壽 90 歲。她是 NASA 阿波羅計畫軟體團隊的靈魂人物,也是「software engineering」(軟體工程) 這個詞最早的系統性使用者之一。MIT 在 10 月 7 日發布長篇訃聞回顧她的一生。

Hamilton 與阿波羅:把程式設計變成「工程」

Hamilton 從 1959 年起在 MIT 任職,1960 年代被指派加入 Charles Stark Draper 實驗室(原 MIT Instrumentation Laboratory)的阿波羅計畫軟體團隊。在那個「程式設計」還不視為獨立工程學科的年代,她帶領超過 400 位工程師為阿波羅太空船的指令艙、登月小艇與整套導引軟體寫下基礎程式,最終把人類送上月球並安全帶回來。

她最為人稱道的一段軼事發生在阿波羅 11 號降落前的關鍵幾分鐘:當時雷達訊號異常湧入導引電腦,軟體中的「優先權排程」(priority scheduling) 機制自動拋棄低優先順序的工作、保留登月所需的運算資源,讓太空人得以順利著陸。她後來在多次訪談中把這套容錯設計哲學稱為「handling the unknown」(處理未知)。

Hamilton 在她的職業生涯中,有意識地推動「軟體工程」成為與硬體工程、系統工程並列的學科。她 2018 年接受西班牙《國家報》專訪時說:

「當我開始用『軟體工程』這個詞時,大家都覺得很好笑。這持續當了好幾年的玩笑話。但軟體最終、也必然地獲得了和其他學科一樣的尊重。」 — Margaret Hamilton(2018, El País 英文版)


早年、求學、與進入 MIT 的契機

Margaret Heafield 出生於 1936 年印第安納州 Paoli。她 1955 年進入密西根大學攻讀數學,後轉學到 Earlham College,並在 1958 年拿到數學學士與哲學副修。1959 年她隨丈夫搬遷到波士頓,丈夫攻讀法學院期間她透過臨時職進入 MIT 氣象系,當時跟著後來以「混沌理論」聞名的 Edward N. Lorenz 教授做天氣預測軟體——這是她最早的程式設計契機,後來也影響了 Lorenz 對初始條件敏感的後續研究。

1960 年代初,Hamilton 進入 MIT Instrumentation Laboratory,逐步被指派為阿波羅軟體團隊的領導者。她從一個臨時程式設計師,一路帶領數百人完成人類史上第一次載人登月的軟體基礎。


1980 年代以後:創業、獲獎、文化符號

1976 年離開 MIT 之後,Hamilton 創立 Hamilton Technologies,專注於高可靠度系統軟體的開發;公司至今仍在麻州營運。她的成就陸續獲得 NASA Exceptional Space Act Award(2003)、Computer History Museum Fellow(2017)、Intrepid 終身成就獎(2019)與 National Aviation Hall of Fame 提名(2022)。

但真正讓她成為流行文化符號的是那張 1969 年的照片:她站在比她人還高的阿波羅飛航軟體列印文件旁,神情從容。這張影像在 2010 年代被網路社群大量轉傳,被視為「工程師也能拯救世界」的視覺象徵。2017 年 LEGO「Women of NASA」系列以她為造型推出公仔;2016 年時任美國總統歐巴馬親自頒發 Presidential Medal of Freedom,表彰她「為人類寫出踏上月球的程式碼」。

Hamilton 育有一女 Lauren,以及孫輩與曾孫輩。她的追思會預計於 2027 年春季在劍橋舉行。


🚨 為什麼這件事重要

Margaret Hamilton 的離世,不只是個人訃聞,更象徵一個時代的句點:那個「軟體不是一門專業學科」的時代。她在 1960 年代堅持為程式設計爭取與硬體工程同等的專業地位——從術語(她發明「software engineering」這個詞)、方法論(她推動容錯設計、優先權排程、軟體可追溯性的實務),到組織規模(她帶領 400 人團隊)— 全部都被現代軟體產業直接繼承。

換句話說,今天每一位自稱「軟體工程師」的人,薪資頭銜、招募流程、職涯發展藍圖——其中很大一部分框架,都來自 Hamilton 在 MIT 辦公室裡 50 年前就推動過的觀念。她的工作讓「寫程式」從「打字員」升級為「工程專業」,這是過去一甲子科技產業最重要的人才流動基石之一。

而她親手打造的優先權排程系統,在 1969 年 7 月 20 日那個關鍵降落窗口從未失敗——這或許是迄今為止軟體拯救最多人命的單一事件。


🚨 數據解讀 / 質疑

關於 Hamilton 與阿波羅計畫,有兩個流行說法需要被重新檢視:

  • 「全部都是她寫的」:錯。她是團隊領導,實際程式碼由數百位工程師共同產出。MIT 明文指出她「帶領」而非「獨自完成」這份工作。媒體傳頌她的同時,常簡化為「她寫的程式把人送上月球」,這對實際執行者並不公允。
  • 「軟體工程是她發明的術語」:大致正確。她不是「軟體工程概念」的獨自發明者(更早可追溯到 1968 年 NATO 軟體工程會議),但她是在 NASA 阿波羅計畫這個全球矚目的舞台上,有意識地、系統性地推廣這個術語讓其進入主流——這是她對這個學科最關鍵的貢獻。

另外值得注意的一點是:在 2016 年總統自由勳章頒發典禮上,Hamilton 的部分阿波羅同事表達失望,認為獎項只頒給了一個人,而非整個軟體團隊。Hamilton 本人在後續訪談中承認這個觀點:她說自己「永遠只是更大故事的一部分」。


Hamilton 留下的具體技術遺產

年代技術 / 制度影響
1965–69阿波羅飛航軟體優先權排程器(priority-driven scheduler)現代即時作業系統(RTOS)前身
1968–72「software engineering」一詞系統化推廣確立軟體為獨立工程學科
1970sHamilton Technologies 高可靠度軟體方法論國防/航太/醫療設備產業採用
2003NASA Exceptional Space Act Award個人獎,但表彰整個阿波羅軟體文化
2015阿波羅原始程式碼 open-source 上 GitHub程式教育經典教材

相關延伸

網友熱門留言 (4)

#1 評論者 A(Hacker News) ▲ 1241
看她站在那疊 Apollo 程式碼旁的照片,簡直像電腦科學界的自由女神像。Hamilton 讓『software engineer』這個頭銜不再只是笑話。
#2 評論者 B(Hacker News) ▲ 642
現在的『全端工程師』90% 寫 CRUD,但 1969 年的全端工程師寫把人送上月球的組合語言。這就是那個時代的工程標準。
#3 評論者 C(中文科技社群) ▲ 387
她最有遠見的不是寫了登月程式碼,而是把『軟體工程』當成一門專業學科來推。沒有她可能我們現在還在自稱『打字的』。
#4 BBC News 編輯部 ▲ 215
Hamilton 在 2016 年獲歐巴馬總統頒發總統自由勳章,理由是她『為人類寫出踏上月球的程式碼』。那是整個 NASA 阿波羅計畫最高榮耀之一的科技工作者表彰。