當今最偉大的程序員,竟是美女極客

08-29

酷玩實驗室作品

首發於微信號 酷玩實驗室

微信 ID:coollabs

程序員這份工作

在今天看來

已經是標準的直男崗位瞭

但在軟件尚未起步的蠻荒時代

可是由很多程序媛

貢獻自己的青春和智慧

開辟瞭這塊土地

而她們的其中一位就是

瑪格麗特 · 希菲爾德 · 漢密爾頓

她的代碼指引阿波羅 8 號飛向月球

又在危難中解救迷失方向的他們

避免瞭一場慘烈的天空事故

實現瞭人類登月的豪言壯語

而她所在的部門

卻是曾經 NASA 覺得最沒用的——

" 後備方案部 "

瑪格麗特從小就是乖乖女

聽爸媽的話

穩妥的從大學畢業瞭

主修數學的她

那時並不會寫代碼

在讀書時

她嫁給瞭詹姆斯 · 漢密爾頓

兩人感情很好

隻是小兩口的日子並不富裕

這時候一個工作機會擺在她面前

地點在麻省理工學院實驗室

有一份臨時的編碼工作

於是瑪格麗特為瞭補貼傢用

抱著試試看的態度

一腳踏進瞭程序員的世界

沒想到真的試對瞭

最開始瑪格麗特隻編寫天氣預報系統的代碼

負責人看她很熟練

把她從臨時工轉為瞭正式工

後來她又轉到瞭著名的林肯實驗室

為美國軍方寫代碼

那時候的寫代碼

不像現在隻要用鍵盤打出來

再用編譯器編譯一下就能運行

而是真的用打字機敲在紙上

再由一幫精於針線活兒的女士

用銅圈把代碼的信息編到內存裡

線路穿過磁芯會產生信號

有信號為 1

沒有信號為 0

那個年代就是這樣

把代碼變成計算機語言的

瑪格麗特在軍方的出色表現

又讓她被推薦進入 NASA

在那裡

她帶領一個小團隊

為即將要載人航天的阿波羅計劃

編寫軟件代碼

也許是因為瑪格麗特溫和的性格

NASA 把她安排到瞭一個無關緊要的部門

這個部門的作用是

準備一個這次任務失敗後的備用方案

聽起來很重要

但當時沒有人重視他們

因為那時的計算機

儲存空間和計算能力都有限

決策者不希望有任何 " 累贅 " 部分

而且整個團隊的核心都是奔著成功去的

每個人都認為失敗是不存在的

瑪格麗特帶領的部門

是 NASA 認為最不重要的

這個部門甚至被命名為 "forget it"

但瑪格麗特不這樣認為

凡事總要有一個備用方案才行

她依然認真地用模擬器模擬飛行狀態

檢查系統漏洞

撰寫新的代碼

某天

她在模擬時發現一個巨大的系統漏洞

那時飛船正在模擬飛行狀態

瑪格麗特在無意地擺弄鍵盤

結果不小心按下瞭 P01 鍵

這個鍵會觸發一個預發射項目

這時系統彈出瞭錯誤信息

這個錯誤信息可能使系統直接崩潰

正在模擬飛行狀態的瑪格麗特

雖然受過大量訓練的宇航員很難犯這個錯誤

但瑪格麗特還是立馬為整個系統

寫出瞭一個備用糾錯方案

這個糾錯方案能讓宇航員

可團隊的領導人不同意將它放進計算機

他們說:

" 宇航員們都經過瞭嚴格的、完美的訓練,‘絕對不可能出錯’。"

瑪格麗特隻好作罷

並在操作系統中寫下備註:

" 不要在飛行時選擇 P01 模式 "

但事實就是這麼湊巧

阿波羅 8 號在環月任務中

宇航員羅威爾一時疏忽

還是按下瞭 P01 模式

系統頓時報錯

所有的巡航數據全部清空

飛船將要失去方向

瑪格麗特立馬領著手下的程序員

連夜奮戰 9 個小時

將清空的數據一一補回

修復瞭這個問題

阿波羅 8 號才成功返航

經過這一次事故

瑪格麗特更加堅定瞭 " 備用 " 的重要性

事實再一次證明她是對的

就在阿波羅 11 號登上太空

即將著陸月球地面的前 3 分鐘

系統忽然警報大作

因為雷達突然發來大量數據

導致系統過載

原來是登月艙分離前

有人忘記關閉登月艙的對接雷達

電腦一直在監視著一個沒有用的雷達

那時的電腦一時處理不瞭這麼多的數據

過載的系統很快面臨崩潰

若是系統崩潰

阿波羅 11 號將直接墜毀在月球表面

當時情況非常緊急

兩位宇航員都做好瞭犧牲的準備

總統尼克松甚至準備好瞭悼詞:

" 命運註定和平探月的人在那裡安息。勇敢的尼爾 · 阿姆斯特朗和巴茲 · 奧爾德林明白他們沒有返回的希望。"

人類第一次踏足月球

眼看就要變成一場災難

幸好瑪格麗特想到瞭這一點

她做的系統

永遠能備不時之需

她設計的系統頂住瞭壓力

電腦最寶貴的計算資源

會被優先用於最關鍵的部分

比如安全登錄

處理不重要的雷達交互數據任務則被砍掉

程序能夠隨時中止低優先級任務

專註於高優先級的任務

這就是現在每個程序員都知道且熟練的

" 異步程序 "

(健哥表示 66666

蛋蛋姐表示)

多虧瞭瑪格麗特設計的系統

阿波羅 11 號順利的返回瞭地球

如同登月一樣

歷史上每一次偉大的成就

都是伴隨著錯誤和風險的

" 不出錯 " 隻是理想狀態

沒有備用方案的時候

就是最危險的時候

2016 年 11 月 24 日

由於瑪格麗特在登月計劃中作出的巨大貢獻

奧巴馬授予瑪格麗特自由獎章

與她同臺的還有比爾蓋茨、喬丹等人

最近

美國媒體 IT world 通過投票

選出瞭還在世的 " 世界上最偉大程序員排名 "

瑪格麗特的名字

穩穩地排在第一

後來有人采訪瑪格麗特

關於兩次救飛船於危難之中的感想

瑪格麗特說道:

" 我不想在報紙頭版頭條上看到:「阿波羅計劃失敗,瑪格麗特團隊難辭其咎」這樣的標題。"

對於瑪格麗特來說

最重要的

是以備不時之需

瑪格麗特當時寫過的代碼,壘起來比她人還高

精彩圖片
文章評論 相關閱讀
© 2016 看看新聞 http://www.kankannews.cc/