50年前的今天,阿波羅11號任務的登月小艇降落在月球的寧靜海基地,21日凌晨2時56分,阿姆斯壯(Neil Armstrong)緩緩扶著梯子走下登月艙,左腳踏上月球表面,並說出著名的登月宣言:「這是一個人的一小步,卻是人類的一大步。」
雖然登月任務由3位男性太空人負責執行,但阿波羅11號(Apollo 11)之所以能成功登陸月球並平安返航,背後確實有一名偉大的女性功不可沒。事實上,就在太空船登陸的前3分鐘,系統差點因資訊過載而失靈,不斷發出警報,是女科學家漢彌爾頓(Margaret Hamilton)負責編寫的軟體讓系統得以持續運作,幫助美國航太總署(NASA)寫下人類登月的歷史新頁。
時值阿波羅11號登陸月球50周年,英國《觀察家報》(The Observer)13日刊出漢彌爾頓的專訪,讓後人更加認識這位登月任務背後的幕後功臣。
Margaret Hamilton: ‘They worried that the men might rebel. They didn’t’ https://t.co/zyNQjqu43H
— Zoe Corbyn (@ZoeCorbyn) 2019年7月14日
自學寫程式的職業婦女
漢彌爾頓生於1932年,在印第安納州的厄勒姆學院(Earlham College)主修數學,畢業後很快地結婚生女,雖然拿到碩士獎學金,但由於丈夫決定到哈佛法學院(Harvard Law School)深造,漢彌爾頓便靠著她的數學專業,在附近的麻省理工學院(MIT)找到一份工作養家,負責編寫天氣預測軟體,在電腦中執行。漢彌爾頓說,當時大學裡甚至還沒有電腦科學學位,她在實驗室裡學到了電腦及軟體的相關知識,也學會如何編寫程式。漢彌爾頓隨後加入MIT林肯實驗室(Lincoln Lab),為美軍編寫偵測敵軍飛行器的軟體。
In honor of the 50th anniversary of the Apollo 11 mission, we’re focusing on one of the 400,000 Americans who made it possible for the US to become the first country to land humans on the moon – a working mom in an era when there weren’t a lot of working moms. pic.twitter.com/40lzFtsWh5
— TODAY (@TODAYshow) 2019年7月10日
1964年,漢彌爾頓的丈夫在報紙上讀到了一份徵才廣告──MIT的「儀器實驗室」(Instrumentation Laboratory)受NASA之託,要找人開發軟體「把人類送上月球」,為阿波羅計畫的太空船編寫搭載軟體。漢彌爾頓說,她當時是團隊裡唯一的女性,也是第一個程式設計師,「那些男性工程師負責的是硬體,我想實驗室之所以聘用我,只是因為我能處理他們不懂的事。」
As NASA's first-ever software engineer, Margaret Hamilton wrote the code by hand that took us to the moon . https://t.co/n1NFP24cD3 pic.twitter.com/exmH8XXpZ1
— MAKERS (@MAKERSwomen) 2019年7月10日
把「軟體工程」一詞發揚光大
從無人任務開始,漢彌爾頓逐漸受到重用,最終成為阿波羅11號軟體開發團隊的負責人。在那個「軟體工程」(software engineering)一詞都尚未出現的年代,年僅32歲的漢彌爾頓一邊照顧孩子,一邊帶領約100名工程師編寫程式碼,開發出阿波羅11號搭載的飛行軟體,眾人合力一字一句編寫的程式碼疊在一起,幾乎與漢彌爾頓齊高。
漢彌爾頓回憶,相較於硬體,一開始幾乎沒有人認真看待軟體的重要性,但後來眾人終於意識到,太空人的生命安全仰賴於軟體是否能成功運作:「我們的軟體需要非常、非常可靠,在任務的任何期間都能檢測到錯誤,並且從錯誤中復原。」在登月前3分鐘的緊張時刻,飛行軟體同樣成功發揮作用,忽略硬體錯誤發出的訊號,選擇執行優先任務,讓登月小艇最終成功著陸。