她是史上最偉大的女程式設計師,發明了「軟體工程」一詞,她用**將阿波羅11號飛船順利送上月球,阿姆斯特朗能在月球上踏出人類的一大步,全都要感謝她所作出的貢獻。
她叫瑪格麗特·希菲爾德·漢密爾頓,公認的**女皇。
2023年,瑪格麗特出生於乙個普通家庭,波瀾不驚地念完了高中和大學,2023年取得學士學位,專業是數學,輔修哲學。讀書期間她認識並嫁給了詹姆斯·漢密爾頓,成為漢密爾頓太太。
畢業後,瑪格麗特·漢密爾頓一邊在高中教數學和法語,一邊等著丈夫拿到學士學位;然後他們搬到波士頓,瑪格麗特在布蘭代斯大學做抽象數學方面的研究。
2023年,瑪格麗特在麻省理工找了乙份臨時的軟體開發工作,負責編寫天氣預報軟體,這一年她才25歲。一年以後,她又轉去了成立剛10年的林肯實驗室。在這裡,瑪格麗特給北美防空司令部的半自動地面防空系統專案工作,期間編寫探測敵方飛行的軟體。
由於在軍方表現太優秀,1963 年,她被推薦進入到nasa,在那裡,她帶領乙個小團隊,為即將要載人航天的阿波羅計畫,編寫軟體**。
此時的她已有乙個四歲的女兒,作為乙個職業的女性,同時肩負著作為母親的責任。
她帶著自己的孩子勞倫到查爾斯河畔的辦公室,開始了一邊帶娃一邊編碼的生活,孩子自己玩,玩累了自己睡,她則是在旁邊給阿波羅飛船的軟體寫**。
要是那時候有scratch,她女兒一定會第一眼愛上這款程式設計軟體。
她很快喜歡上了這裡的氛圍,喜歡她的 geek(極客) 同事們,她說自己是他們的乙份子。
在那個年代,不同模組用的組合語言都不同,但是瑪格瑞特卻能掌握三四種組合語言,可見這個姑娘有多逆天。
由於表現出色,沒多久,她成為了阿波羅計畫首席軟體工程師。對於瑪格麗特來說,程式設計意味著不僅是給一堆穿孔卡片打孔,更是會在一台大型的霍尼韋爾主機上批量處理上整晚,以便模擬出阿波羅著陸的情景,一切都容不得半點差錯,她認真地用模擬器模擬飛行狀態,檢查系統漏洞。
一天,瑪格麗特正在擺弄mit指令艙模擬器的顯示與鍵盤單元,正當她戳弄鍵盤的時候,乙個錯誤資訊冒了出來,她在模擬器處於飛行中狀態時,隨意擺弄鍵盤,觸發了乙個預發射專案p01,這個錯誤資訊可能使系統直接崩潰。
雖然太空飛行員是絕對不會這樣做的,但瑪格麗特還是想為這樣意外的誤觸設定乙個防錯**(看來媽媽們就是心細),可惜nasa否決了這樣的提議,因為他們認為:太空飛行員是絕對不會犯錯的,他們已經被訓練的很完美。
瑪格麗特只好作罷,但是為了保險起見,她製作了乙個指示提醒,乙個嵌進程式檔案裡的附件,可以被nasa工程師與太空飛行員看到:飛行時不要選擇p01模式。
她希望為阿波羅系統加上乙個錯誤檢查的**,預防p01使系統崩潰,但她的上級不這樣認為:所有人都在說,那根本不會發生的。
擔心成為了事實,事實就是這麼的湊巧,害怕發生的事情就發生了,就在2023年的聖誕節——
首次圍繞月球載人飛行的阿波羅8號發射的五天後——
太空飛行員jim lovell不小心在飛行中觸發了p01。瑪格麗特那時正在儀表實驗室的第二層會議室裡,來自休斯頓的緊急**響了,p01的啟動使得lovell收集的所有導航資料被抹去,這可是個大問題,沒有這些資料,阿波羅的計算機無法將太空飛行員帶回家。
瑪格麗特立馬領著手下的程式設計師,連夜奮戰9個小時,一行行檢查**,程式設計確實能培養孩子的耐心,將清空的資料一一補回,修復了這個問題,阿波羅8號才成功返航。再次立功,挽救阿波羅11號
沒多久,事實再一次證明她是對的,載著阿姆斯特朗的阿波羅11號,即將著陸月球地面的前3分鐘,系統忽然警報大作。
軌交雷達發來了大量的資料湧入電腦儲存區,快把電腦弄奔潰了,若系統崩潰,飛船將毫無懸念地墜毀在月球,人類的上天一小步可能是乙個大坑和兩條生命。
眼看人類第一次踏足月球,就要變成一場災難,瑪格麗特設計的系統頂住了這個壓力,在大量資料湧入電腦的時候,最寶貴的計算資源,被用於最關鍵的部分,比如安全登陸本身,而處理不重要的雷達互動資料的任務被砍掉,讓程式可以隨時中止低優先順序任務,專注於高優級任務。
(程式設計思維的應用示範:事情按重要程度進行優先順序劃分處理)
這就是現在每個程式設計師都知道且熟練的「非同步程式」。
憑著努力、聰明和心思縝密,瑪格麗特拯救了人類的登月計畫。
她的團隊在每次程式確定之後,都會一遍遍嚴格地測試,使用模擬器(儘管還非常初級、簡陋)來模擬登陸狀況。許多問題她早就考慮到了,畢竟「不出錯」永遠都是乙個理想狀態。後來瑪格麗特離開nasa的瑪格麗特自立門戶,繼續在軟體工程領域發光發熱,直到退休。
最近美國**it world通過投票,選出了還在世的「世界上最偉大程式設計師排名」,瑪格麗特的名字穩穩地排在第一。
2023年,她因技術和科學貢獻獲nasa傑出太空行動獎,該獎是美國宇航局史上對個人的最大獎賞。
有如此的成績,當然有背後所付出的努力,努力和責任感兩大特點在瑪格麗特身上得到清晰體現。
這就是她寫的**,經過反反覆覆修改的版本,幾乎要超過她那嬌小的身軀。
眼尖的夥伴可能已經發現,瑪格瑞特長得很漂亮。她甚至在 1969 年,就已經引領了黑絲連衣裙的流行女神裝扮。中年之後的她依然美麗知性。在當今「網紅」遍布的喧囂時代,顏值似乎是你通向康莊大道的捷徑,擁有美貌的她選擇用才華征服這個世界,領導了堪稱為人類歷史上最偉大的軟體工程專案。
明明可以靠顏值,她卻偏偏拼才華。
瑪格麗特·漢密爾頓,這個集智慧型、美貌於一身的女子靠著程式設計,將人類有所為、有所成的邊疆從腳下的土地,開拓到大氣層外的太空。
軟體史上偉大的程式設計師
1,john carmack 約翰.卡馬克 john是程式設計師的教父。他一直致力與推翻世界快速工業化的障礙,在引領時代浪尖的同時仍能將研究成果作為遊戲的一部分,它的貢獻令人敬畏。他在計算機圖形方面的創新給我們帶來了wolfenstein 3d,doom quake.6,bram cohen 布拉姆...
軟體史上最偉大的十大程式設計師
國際訊息,國外某社群 就 軟體史上最偉大的十大程式設計師 做了乙個評選,結果如下 1,john carmack 約翰.卡馬克 john是程式設計師的教父。他一直致力與推翻世界快速工業化的障礙,在引領時代浪尖的同時仍能將研究成果作為遊戲的一部分,它的貢獻令人敬畏。他在計算機圖形方面的創新給我們帶來了w...
史上最NB程式設計師的自白
俺是一名程式設計師。三年前,當俺在麻繩理工學院讀博士時,一公司聘俺完成乙個專案。當俺完成學業離開美國後,該公司需要對程式進行修改,於是聘請了另一名程式設計師來完成這項工作。謙虛的說 俺一向很謙虛的 想要理解俺編的程式,不是一般人能做到的。在俺的程式裡,使用了大量的獨特演算法,富有個性的變數 函式的命...