小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

 好吃好看分子 2017-09-19

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

9月15日,土星探測儀卡西尼已宣告自毀成功,完成了人類探索土星的悲壯史命。

但偉大歸偉大,其實在卡西尼身上也發(fā)生過讓人哭笑不得的錯誤。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

卡西尼-惠更斯號,那口金色的“鍋”便是惠更斯

當年的卡西尼身上還帶著一枚用于探測土衛(wèi)六(也稱泰坦星,土星衛(wèi)星中最大的一個)的“惠更斯”號探測器。

當時“卡西尼-惠更斯”號非常完美地登陸了土衛(wèi)六,但是地面卻一直沒有收到儀器傳來的數(shù)據(jù)。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

惠更斯號登陸模擬圖

經(jīng)徹查后,結(jié)果讓所有人大跌眼鏡,原因竟是地面控制員忘了按啟動接收按鈕。

最后這個小失誤導(dǎo)致了大量的數(shù)據(jù)丟失,包括原本應(yīng)收到的700張珍貴圖片,最后也只剩下350張。

設(shè)計者大衛(wèi)·阿特金森十八年的努力就這樣功虧一簣,而惠更斯號則得名卡西尼的“豬隊友”。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

臥薪嘗膽18年的大衛(wèi)·阿特金森

其實類似這種事情,在航天史上從來沒少發(fā)生。

人為錯誤確實低級,但卻難以避免。

像執(zhí)行人類第一次登月任務(wù)的阿波羅計劃,也曾經(jīng)因為一個按鈕的事,差點導(dǎo)致機毀人亡。

但幸運的是,那次有一位“女程序員”挺身而出,拯救這場浩劫。

她在“最無用”的部門里,卻做了最有用的事情。

只是當年極少人意識到她的貢獻,到現(xiàn)在她的故事才被重新提起。

沒有她,就沒有阿姆斯特朗的一小步和人類的一大步。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

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

瑪格麗特·希菲爾德·漢密爾頓,1936年出生于一個美國普通家庭。

她從小就是典型的“別人家的孩子”,成績優(yōu)異,性格溫和。

高中畢業(yè)后,她就順利考上大學(xué),主修數(shù)學(xué)。

在那里她也結(jié)識了詹姆斯·漢密爾頓,成了漢密爾頓太太。

很自然地,大學(xué)畢業(yè)后她成了一名老師,教數(shù)學(xué)和法語。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

瑪格麗特

那時,她的丈夫漢密爾頓還在哈佛法學(xué)院繼續(xù)深造。

所以一邊工作的她,還主動承擔起了所有的家務(wù)。

等到丈夫?qū)W成后,瑪格麗特才有機會繼續(xù)深造,再讀一個抽象數(shù)學(xué)的學(xué)位。

然而,他們小兩口的生活并不富裕。

為了幫補家用,1962年瑪格麗特也額外找了一份在MIT儀表實驗室的臨時編碼工作。

也就是這個決定,讓她一腳踏入了程序的殿堂。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

最初,她負責編寫在計算機上運行的天氣預(yù)報軟件。

但因為工作異常出色,很快就獲得了轉(zhuǎn)正資格,并加入著名的林肯實驗室。

那時,她的工作任務(wù)也從簡單的程序變到為美國軍方的“賽其”(SAGE)系統(tǒng)*寫代碼。

*注:“賽其”系統(tǒng),被稱為國際互聯(lián)網(wǎng)的鼻祖,也是阿帕網(wǎng)的前身,主要目的是在冷戰(zhàn)時期偵查蘇聯(lián)有可能發(fā)起的核攻擊。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

1962年,瑪格麗特參加SAGE項目時期的照片

在上個世紀60年代,程序員可沒有今日這么風(fēng)光,連“程序猿”都比不上,更別提“軟件工程師”這樣響亮的頭銜。

和今日科技圈少有的女碼農(nóng)一樣,當年的瑪格麗特就是一個不折不扣的異類。

雖然名不正言不順,但當年程序員們的工作可比現(xiàn)在復(fù)雜上幾十倍。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

瑪格麗特在打字機上打出的代碼

在那個年代,并不是敲敲鍵盤就能寫出代碼那么簡單。

瑪格麗特首先需要將代碼用打字機寫到紙上,連Debug(排錯)的功能都只能靠腦力檢查。

在確認無誤后,這些信息才會交給一群精通針線活的“小老太太”(Little Old Ladies)。

她們會像繡花一樣用磁環(huán)把信息編到內(nèi)存里,當銅線穿過磁芯代表1,繞過磁芯則代表0。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

小老太太們被雇傭來專門將程序?qū)懭腚娔X

然而這些都還不是最難的。

那個年代正是程序的“開荒期”,軟件工程也不是一個拿捏得十分準確的領(lǐng)域,很多東西還未統(tǒng)一。

所以要想為一個軟件編程,至少要學(xué)好幾套匯編語言。

而剛進去的瑪格麗特更像一塊白紙,還需要面對各種棘手的程序,任誰都得崩潰。

但也正是這些五花八門的難題,激起了對編程的無限興趣。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

瑪格麗特正在手動編程

隨著日漸豐富的編程經(jīng)驗,瑪格麗特也慢慢成了系統(tǒng)編程的專家。

而另一邊肯尼迪也在1961年發(fā)起的阿波羅登月計劃,這就成了瑪格麗特人生重要的轉(zhuǎn)折點。

那時的她也加入到了阿波羅計劃,為登月飛船寫程序。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

在阿波羅計劃的最初,好像并沒有“軟件”什么事。

就連在原始檔案列出的阿波羅任務(wù)的各項需求中,竟從頭到為都沒有提到軟件這個詞,更別提預(yù)算什么的。

之后隨著阿波羅項目逐漸啟動,NASA才意識到軟件的重要,逐漸把軟件團隊擴大到400人。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

在1965年,瑪格麗特也成了整個軟件編程部的部長。

隨著責任變重,瑪格麗特的壓力也越來越大。

有一次她甚至還做夢見到,新聞頭條是阿波羅墜毀,最后追查下來竟是自己的程序有誤。

當時她從夢中驚醒,就連夜跑回實驗室,竟然還真的在程序中發(fā)現(xiàn)了一個小錯誤并改正。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

瑪格麗特與女兒勞倫

在那段日子里她的女兒勞倫也出生了,所以特別忙的時候瑪格麗特還不得不將女兒帶去實驗室。

她在工作的時候,小女兒就在旁邊玩耍,累了就直接在地板睡覺。

身邊的人都對這位“工作狂媽媽”十分不理解,常問她“你怎么忍心這么不顧自己的孩子”。

雖然心有愧疚,但她還是對神秘的程序十分癡迷,不能自拔。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

一天,女兒勞倫在指令艙模擬器中玩耍。

當她在鍵盤上亂按時,一條錯誤的信息突然彈出。

原因是她不小心啟動了一個叫P01的預(yù)運行程序,導(dǎo)致原本還在飛行狀態(tài)的模擬器瞬間崩潰。

看到這種情況,瑪格麗特就提議在整個系統(tǒng)中多加一段代碼,防止類似的狀況發(fā)生。

如果在飛行過程中,宇航員操作出了什么差池,還有挽回的地步。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

但是當時所有人都覺得宇航員是受過嚴格訓(xùn)練,操作是完美的,“絕對不可能出錯”。

再加上當年的計算機存儲空間和運算能力十分有限,決策者也不想添加任何“累贅”的部分。

所以瑪格麗特也無可奈何,只能在操作系統(tǒng)中添加了一個備注“不要在飛行中選擇P01模式”。

但是可怕的事情,還是發(fā)生了。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

阿波羅8號繞月飛行軌道

1968年12月21日,人類首次繞月飛行的阿波羅8號發(fā)射。

但就在飛行的第5天,宇航員Jim Lovell還是在無意間按下了P01模式。

這個模式的啟動后,所有導(dǎo)航數(shù)據(jù)都會被清空。

這樣下去,飛船將無法把宇航員送回地球,在太空中迷路是分分鐘的事。

知道要出大事了,決策者也十萬火急地打電話到瑪格麗特那,讓她想一個補救的辦法。

于是,瑪格麗特也馬上帶著MIT的一群程序員,連夜奮戰(zhàn)了9個小時,才設(shè)計出了一個新的計劃。

當時這份新的導(dǎo)航數(shù)據(jù)上傳后,大家才松了一口氣。

一切又回到正常的軌道,阿波羅8號也順利載著宇航員返航。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

這次事件后,決策者與瑪格麗特都更明顯地感受到軟件對登月計劃的重要性。

軟件幾乎成了美國要贏得太空競賽的重要籌碼,瑪格麗特加班的頻率也越來越高,時間也越來越長。

但瑪格麗特最大的挑戰(zhàn)還在后面。

就在阿波羅11號飛船即將登陸月球前的幾分鐘,就是這么一個關(guān)鍵的時刻,危機還是發(fā)生了。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

登月時期,人類能用的電腦都是超小內(nèi)存、計算速度極度緩慢的。

系統(tǒng)能永久保存的不過1.2萬字節(jié)(約100兆),而臨時存儲的空間就更小了,只有1024字節(jié)(1兆)。

用瑪格麗特的話來說就是“今天看起來這簡直不可思議”。

所以就在阿波羅11號離月球不遠處時,電腦也因過度運轉(zhuǎn),大量地彈出錯誤信息,系統(tǒng)幾近崩潰。

如果電腦扛不住,飛船將毫無疑問墜毀,成為世上最“悲壯”的登月。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

瑪格麗特為阿波羅飛船寫的代碼與她嬌小的身軀相比

但就是在這么“不可思議”的硬件條件下,瑪格麗特設(shè)計的系統(tǒng)竟頂住所有壓力。

原因是她首創(chuàng)的“異步處理程序”,教會了電腦如何“決擇”,為阿波羅11號解決了危機,也為自己贏得了榮譽。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

飛船在登月過程中,除了要控制推進外,還會進行著一系列不那么重要的計算。

那時瑪格麗特就考慮到,當大量數(shù)據(jù)涌入電腦,系統(tǒng)扛不住時應(yīng)該怎么辦。

所以為了保險起見,她細心地在原有的基礎(chǔ)上添加了這個“異步處理程序”,來解決問題。

當沒有足夠空間運行時,電腦最寶貴的存儲空間便會留給最關(guān)鍵的部分,比如最重要的——讓鷹號在月球登陸。

而其他低優(yōu)先級的任務(wù),如雷達交換數(shù)據(jù)任務(wù)將會被暫時切斷。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

每個人都看到了阿姆斯特朗在月球上的第一步。

然而,不是每個人都知道這背后,有這么一位女程序員也為女性邁出了一大步。

瑪格麗特拯救人類的登月計劃時,年齡不過33歲。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

除了登月,這位先驅(qū)女極客還曾為廣大“碼農(nóng)”正名,首次使用了“軟件工程師”一詞來稱呼包括自己在內(nèi)的程序員。

她說:“希望給予做軟件的人們以尊重,因為他們和其他做硬件的人一樣,在這個宏大的工程里各司其職?!?/p>

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

登月成功后,瑪格麗特也功成身退,離開NASA出來創(chuàng)建自己的公司,繼續(xù)在軟件行業(yè)努力。

2003年,她也因當初的貢獻獲得美國宇航局對個人的最高獎勵,NASA杰出太空行動獎。

2016年,她再次獲得美國最高的民事榮譽總統(tǒng)勛章,與蓋茨、喬丹同臺領(lǐng)獎。

她的一串代碼讓人類登月,兩次化解航天災(zāi)難是程序員永恒的女神

回顧那段從零開始的程序員生活,她說自己是世界上最幸運的人。

因為“別無選擇,只能成為先驅(qū)者,沒有時間成為初學(xué)者”。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多