成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

50年前的程序員女神,用代碼把人類送上月球

開發 前端
飛行控制軟件不負眾望,它忽略了那些低優先級的情況,專注于最高優先級的任務,引導著阿姆斯特朗和奧爾德林穿過坑坑洼洼的月球表面,成功著陸。

?1969年7月20日,經過4天飛行的阿波羅11號終于來到了最關鍵的時刻:降落到月球表面。

就在這個時候,飛船計算機突然開始閃爍報警。

全球6億人在觀看電視直播,NASA飛行控制中心的氣氛讓人窒息。

人類的首次登月計劃面臨著艱難的抉擇:降落還是放棄。

幸運的是,控制中心的人對飛行控制軟件有著高度的信心,指示阿波羅11號繼續降落。

圖片

飛行控制軟件不負眾望,它忽略了那些低優先級的情況,專注于最高優先級的任務,引導著阿姆斯特朗和奧爾德林穿過坑坑洼洼的月球表面,成功著陸。

事后分析發現,是因為一個開關被放置到了錯誤的位置,導致計算機進入了過載的狀態。 

那個只有2K內存的計算機既得執行降落所需的計算,又得處理開關錯誤引起的額外數據。

但是這個程序居然實現了搶占式任務:用高優先級的著陸任務打斷了低優先級的,實在太厲害了。

這個飛行控制軟件是瑪格麗特·漢密爾頓和她的團隊編寫的。

圖片

(代碼等身)

這無疑是瑪格麗特人生的最高光時刻。

后來樂高公司根據那張著名的照片開發了樂高玩具套裝:NASA中的女性,瑪格麗特成為其中的一員。

1、2K內存的計算機

瑪格麗特1936年出生于美國印第安納州,后來全家搬到了密歇根,1958年她獲得了密歇根大學的數學學士學位,隨后她在MIT找了一份工作,成為了一名程序員,開發氣象預測軟件。

這是軟件開發的蠻荒歲月,計算機科學和軟件工程還沒有建立,一切全靠程序員在工作的實踐中學習。

1961年,瑪格麗特開始參與國防項目SAGE,協助開發了美國第一個空中防御系統,通過雷達來搜索飛機。

瑪格麗特在這個項目上展示自己的天賦:“當一個新人進入項目時,總是會被分配一些沒有人能搞清楚的程序,我也被分了一個非常怪異的程序,最早寫程序的人甚至用希臘語和拉丁語來寫注釋!不過我還是成為了第一個讓這個程序跑起來的人!”

正是在SAGE項目上的成就讓瑪格麗特的人生發生了轉折。

1965年,她的丈夫在當地報紙上看到了一則消息:NASA正在尋找程序員,開發程序,把人類送上月球。 

圖片

瑪格麗特非常興奮:“哇,那我一定得去!”。 

這一年瑪格麗特28歲,加入了阿波羅項目,成為了項目的第一個程序員。

阿波羅項目需要開發一個精簡的計算機AGC(Appollo Guidance Computer),用來控制登月飛船。

這是一件艱難的任務,因為當時的計算機通常要占據一間屋子,但是AGC被限制到只有一立方英尺那么大。

圖片

項目組被分為兩撥人,一撥設計硬件,另外一撥開發軟件。 

瑪格麗特自然成為了軟件組的負責人。

AGC只有可憐巴巴的2K內存,36K的ROM,更匪夷所思的是那個ROM是Core rope memory(芯繩存儲器?),也就是說,0和1是通過電線和微小的環形磁芯表示。

電線穿過磁芯表示1,沒有穿過表示0。

我們現在想把程序存盤,只需要按一個Ctrl + S就可以,但是想把阿波羅飛行軟件存盤,只有一種辦法:像紡織工那樣細心地把電線和磁芯給編織起來。

這個工作不能出一點兒差錯,要不然,無論代碼寫得多么正確,最終都會功虧一簣。

事實上,這個工作的確是由新英格蘭紡織廠的女工們完成的,繩索存儲器被一些程序員戲稱為Little Old Lady memory。

2、軟件工程

在NASA工作的大多數軟件工程師都是男性,有人在家里照顧孩子,但是瑪格麗特沒有辦法,在周末和晚上她會帶女兒勞拉來到辦公室。

勞拉經常看到她的媽媽在飛船中扮演宇航員來測試軟件,好奇心大起,也想試一試,結果突然間整個系統崩潰了,原來勞拉在飛船“飛行”期間,選擇了一個叫做P01的功能。

圖片

瑪格麗特意識宇航員也有可能犯類似錯誤,希望修改軟件防止它。 

但是NASA的人說,宇航員都是訓練過的,絕對不會犯類似錯誤。當然,修改軟件也非常難,想想芯繩存儲器!

但是,在阿波羅8號繞月飛行的時候,宇航員恰恰犯了和她女兒一樣同樣的錯誤,飛船在太空“迷路”,無法將宇航員送回地球。得知消息的瑪格麗特帶領團隊,突擊9個小時,終于讓阿波羅8號回到正常軌道。

圖片

(支援阿波羅8號)

此后,軟件都內置了保護功能,防止類似事件的發生。 

瑪格麗特開始將整個阿波羅任務視為一個系統,這個系統由3部分組成:軟件,硬件,人。

在開發飛行控制軟件的過程中,瑪格麗特創造了“軟件工程”這一術語,她要賦予“軟件”的合法性,就像硬件以及其他類型的工程一樣,構建軟件的人也應該得到應用的尊重。

在剛開始的時候,大家認為這是一個笑話:軟件開發是工程嗎? 

隨著時間的推移,NASA逐漸意識到,軟件工程會成為它們的重要工具,能夠搶先蘇聯一步完成登月。

圖片

3、除了成為先行者別無選擇

“回想起來,我們是世界上最幸運的人,除了成為先行者別無選擇” ---瑪格麗特·漢密爾頓

瑪格麗特就是軟件工程領域的先行者,開發阿波羅飛行軟件這種對正確性、可靠性要求極高的軟件,沒人任何經驗可以遵循,沒有任何學校可以學習,軟件不僅要工作,而且必須第一次就正確工作。軟件不僅要可靠,而且必須能進行實時的錯誤檢測和恢復。

瑪格麗特帶領團隊出色地完成了這個軟件,在關鍵時刻把人類送上了月球。

2016年11月22日,瑪格麗特獲得了奧巴馬總統頒發的總統自由勛章,以表彰她在阿波羅登月任務開發機載飛行軟件所做的工作,以及對軟件工程的基礎性貢獻。

圖片

瑪格麗特說:當我想了解新事物或者做新東西的時候,一定不要讓恐懼成為障礙。

一個人不應該害怕說“我不知道”,“我不理解”,或者問“愚蠢的問題”。

即使事情看起來不可能,即使所謂專家說這不可能,也要繼續下去。

不要害怕犯錯,只有敢于失敗的人才能取得更大的成就。?

責任編輯:武曉燕 來源: 碼農翻身
相關推薦

2015-10-23 10:53:39

代碼航天程序員

2019-07-11 08:53:11

代碼開發程序員

2021-05-14 09:10:20

腦機接口機器人工智能

2021-04-20 12:26:35

SpaceX月球

2020-05-25 14:58:36

程序員自動化編碼

2020-01-13 10:23:08

程序員技能開發者

2015-06-19 15:21:59

程序員

2019-12-24 09:25:09

程序員技能開發者

2020-10-16 19:07:33

Windows 10微軟回應

2023-11-06 07:19:11

程序員GitHub社交媒體

2022-08-01 09:43:19

程序員Googlefacebook

2014-07-14 10:26:02

JQueryJQuery插件

2019-04-16 15:00:13

前端程序員薪資

2013-05-31 09:05:47

2017-03-13 09:07:05

測定代碼基因

2016-04-20 10:41:08

VR虛擬現實

2011-03-07 15:38:33

3月編程語言排行榜

2009-07-08 09:08:37

2020-08-13 13:45:08

程序員技能開發者

2018-07-04 13:00:58

雷軍代碼程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产视频久久久 | 精品一区在线免费观看 | 国产精品久久久久久久久久久久 | 99小视频 | 亚洲欧美日韩激情 | av在线免费观看网址 | 七七婷婷婷婷精品国产 | 成人国产精品免费观看视频 | 国产精品色| 好姑娘影视在线观看高清 | 麻豆国产一区二区三区四区 | 玖玖在线精品 | 久久久久久久综合色一本 | 久久视频精品在线 | 午夜色婷婷 | 国产欧美精品一区二区三区 | 久久久噜噜噜www成人网 | 日韩成人精品视频 | 欧美一区二区三 | 中文字幕中文字幕 | 涩涩视频在线播放 | 亚洲国产一区二区三区 | 国产高清视频 | 欧美一级一 | 欧美精品在线免费观看 | 亚洲一级黄色 | 欧美激情视频一区二区三区在线播放 | 99reav | 国产欧美视频一区二区三区 | 日本午夜在线视频 | 深夜爽视频 | 日韩成人在线视频 | 亚洲综合色视频在线观看 | 亚洲日本中文 | av永久免费 | 日韩中文字幕 | 综合久久网 | www国产成人 | 国产91成人| a久久久久久 | 午夜在线视频 |