瑪格麗特·漢密爾頓
寫下登月程式碼,賦予「軟體工程」靈魂的科技先驅
在 1960 年代,當人們談論到「工程」時,腦海中浮現的通常是巨大的金屬硬體、火箭引擎或是複雜的電路板。當時的「軟體」被視為硬體的附屬品,甚至被認為是不需要嚴謹科學訓練的「打字工作」。然而,瑪格麗特·漢密爾頓(Margaret Hamilton)徹底顛覆了這個觀念。她不僅創造了「軟體工程(Software Engineering)」這個詞彙,更用極度嚴謹的邏輯,帶領團隊寫出了將人類安全送上月球的阿波羅飛航軟體。
作為麻省理工學院(MIT)儀器實驗室軟體工程部的負責人,瑪格麗特深知,在太空中,程式碼的一個小錯誤就可能導致機毀人亡。因此,她將軟體開發提升到了與硬體工程同等嚴格的科學層次。
驚險的 1202 警報:拯救阿波羅 11 號
瑪格麗特對軟體工程最偉大的貢獻之一,在於她設計了具有「容錯能力」與「非同步執行」的系統。這個設計在 1969 年 7 月 20 日迎來了最嚴峻的考驗。就在阿波羅 11 號登月小艇距離月球表面僅剩三分鐘航程時,電腦突然被雷達傳來的無用數據淹沒,發出了致命的「1202」與「1201」過載警報。
在休士頓控制中心一片死寂之際,瑪格麗特設計的軟體發揮了作用。程式自動判斷出目前的最高優先級是「控制登月」,於是果斷捨棄了處理雷達數據的低優先級任務,將所有運算資源集中在登陸程序上。如果沒有這套聰明的「任務優先級」軟體架構,阿波羅 11 號極可能會被迫放棄登月,甚至墜毀。
從登月到現代軟體架構的基石
阿波羅計畫結束後,瑪格麗特並沒有停下腳步。她將在 NASA 累積的經驗轉化為更普遍的系統理論,創辦了多家軟體公司,並開發了「通用系統語言(USL)」。她提倡的「在設計階段就預防錯誤(Design by logic)」理念,至今仍是高可靠性系統(如航空、醫療、金融軟體)的核心準則。
2016 年,時任美國總統奧巴馬授予她「總統自由勳章」,表彰她對美國登月計畫與現代電腦科學的卓越貢獻。她用一疊疊厚重的報表紙證明了:軟體,才是賦予冰冷硬體靈魂的真正魔法。
%20(3000%20x%20590%20%E5%83%8F%E7%B4%A0)%20(1).png)