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

登月50年 | 她的一串代碼讓人類登月 是程序員永恒的女神

新聞 前端
1969 年 7 月 20 日下午 4 時 17 分 42 秒,美國宇航員阿姆斯特朗將左腳小心翼翼地踏上了月球表面,這是人類第一次踏上月球。

1969 年 7 月 20 日下午 4 時 17 分 42 秒,美國宇航員阿姆斯特朗將左腳小心翼翼地踏上了月球表面,這是人類第一次踏上月球。

  如今時間已經過去了 50 年,但阿姆斯特朗那句“我的一小步,人類的一大步”的經典獨白,仍然深深地刻在每個人的心里。

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

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

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

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

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

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

  最后這個小失誤導致了大量的數據丟失,包括原本應收到的 700 張珍貴圖片,最后也只剩下 350 張。

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

  其實類似這種事情,在航天史上從來沒少發生。人為錯誤確實低級,但卻難以避免。

  像執行人類第一次登月任務的阿波羅計劃,也曾經因為一個按鈕的事,差點導致機毀人亡。

  但幸運的是,那次有一位“女程序員”挺身而出,拯救這場浩劫。她在“最無用”的部門里,卻做了最有用的事情。只是當年極少人意識到她的貢獻,到現在她的故事才被重新提起。沒有她,就沒有阿姆斯特朗的一小步和人類的一大步。

[[270294]]

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

  瑪格麗特·希菲爾德·漢密爾頓,1936 年出生于一個美國普通家庭。她從小就是典型的“別人家的孩子”,成績優異,性格溫和。高中畢業后,她就順利考上大學,主修數學。

  在那里她也結識了詹姆斯·漢密爾頓,成了漢密爾頓太太。很自然地,大學畢業后她成了一名老師,教數學和法語。那時,她的丈夫漢密爾頓還在哈佛法學院繼續深造。

  所以一邊工作的她,還主動承擔起了所有的家務。等到丈夫學成后,瑪格麗特才有機會繼續深造,再讀一個抽象數學的學位。

  然而,他們小兩口的生活并不富裕。為了幫補家用,1962 年瑪格麗特也額外找了一份在 MIT 儀表實驗室的臨時編碼工作。也就是這個決定,讓她一腳踏入了程序的殿堂。

  最初,她負責編寫在計算機上運行的天氣預報軟件。但因為工作異常出色,很快就獲得了轉正資格,并加入著名的林肯實驗室。

  那時,她的工作任務也從簡單的程序變到為美國軍方的“賽其”(SAGE)系統*寫代碼。(*注:“賽其”系統,被稱為國際互聯網的鼻祖,也是阿帕網的前身,主要目的是在冷戰時期偵查蘇聯有可能發起的核攻擊。)

[[270295]]

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

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

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

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

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

  在那個年代,并不是敲敲鍵盤就能寫出代碼那么簡單。瑪格麗特首先需要將代碼用打字機寫到紙上,連 Debug(排錯)的功能都只能靠腦力檢查。在確認無誤后,這些信息才會交給一群精通針線活的“小老太太”(Little Old Ladies)。

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

  然而這些都還不是最難的。那個年代正是程序的“開荒期”,軟件工程也不是一個拿捏得十分準確的領域,很多東西還未統一。所以要想為一個軟件編程,至少要學好幾套匯編語言。

  而剛進去的瑪格麗特更像一塊白紙,還需要面對各種棘手的程序,任誰都得崩潰。但也正是這些五花八門的難題,激起了對編程的無限興趣。

[[270296]]

瑪格麗特正在手動編程

  隨著日漸豐富的編程經驗,瑪格麗特也慢慢成了系統編程的專家。而另一邊肯尼迪也在 1961 年發起的阿波羅登月計劃,這就成了瑪格麗特人生重要的轉折點。

  那時的她也加入到了阿波羅計劃,為登月飛船寫程序。在阿波羅計劃的最初,好像并沒有“軟件”什么事。就連在原始檔案列出的阿波羅任務的各項需求中,竟從頭到尾都沒有提到軟件這個詞,更別提預算什么的。

  之后隨著阿波羅項目逐漸啟動,NASA 才意識到軟件的重要,逐漸把軟件團隊擴大到 400 人。在 1965 年,瑪格麗特也成了整個軟件編程部的部長。

  隨著責任變重,瑪格麗特的壓力也越來越大。有一次她甚至還做夢見到,新聞頭條是阿波羅墜毀,最后追查下來竟是自己的程序有誤。當時她從夢中驚醒,就連夜跑回實驗室,竟然還真的在程序中發現了一個小錯誤并改正。

  在那段日子里她的女兒勞倫也出生了,所以特別忙的時候瑪格麗特還不得不將女兒帶去實驗室。她在工作的時候,小女兒就在旁邊玩耍,累了就直接在地板睡覺。

  身邊的人都對這位“工作狂媽媽”十分不理解,常問她“你怎么忍心這么不顧自己的孩子”。雖然心有愧疚,但她還是對神秘的程序十分癡迷,不能自拔。

  一天,女兒勞倫在指令艙模擬器中玩耍。當她在鍵盤上亂按時,一條錯誤的信息突然彈出。原因是她不小心啟動了一個叫 P01 的預運行程序,導致原本還在飛行狀態的模擬器瞬間崩潰。

  看到這種情況,瑪格麗特就提議在整個系統中多加一段代碼,防止類似的狀況發生。如果在飛行過程中,宇航員操作出了什么差池,還有挽回的地步。

  但是當時所有人都覺得宇航員是受過嚴格訓練,操作是完美的,“絕對不可能出錯”。再加上當年的計算機存儲空間和運算能力十分有限,決策者也不想添加任何“累贅”的部分。

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

  但是可怕的事情,還是發生了。1968 年 12 月 21 日,人類首次繞月飛行的阿波羅 8 號發射。

  但就在飛行的第 5 天,宇航員 Jim Lovell 還是在無意間按下了 P01 模式。這個模式的啟動后,所有導航數據都會被清空。

  這樣下去,飛船將無法把宇航員送回地球,在太空中迷路是分分鐘的事。知道要出大事了,決策者也十萬火急地打電話到瑪格麗特那,讓她想一個補救的辦法。

  于是,瑪格麗特也馬上帶著 MIT 的一群程序員,連夜奮戰了 9 個小時,才設計出了一個新的計劃。當時這份新的導航數據上傳后,大家才松了一口氣。

  一切又回到正常的軌道,阿波羅 8 號也順利載著宇航員返航。這次事件后,決策者與瑪格麗特都更明顯地感受到軟件對登月計劃的重要性。

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

  但瑪格麗特最大的挑戰還在后面。就在阿波羅 11 號飛船即將登陸月球前的幾分鐘,就是這么一個關鍵的時刻,危機還是發生了。

  登月時期,人類能用的電腦都是超小內存、計算速度極度緩慢的。系統能永久保存的不過 1.2 萬字節,而臨時存儲的空間就更小了,只有 1024 字節。

  用瑪格麗特的話來說就是“今天看起來這簡直不可思議”。所以就在阿波羅 11 號離月球不遠處時,電腦也因過度運轉,大量地彈出錯誤信息,系統幾近崩潰。

  如果電腦扛不住,飛船將毫無疑問墜毀,成為世上最“悲壯”的登月。但就是在這么“不可思議”的硬件條件下,瑪格麗特設計的系統竟頂住所有壓力。

  原因是她首創的“異步處理程序”,教會了電腦如何“決擇”,為阿波羅 11 號解決了危機,也為自己贏得了榮譽。飛船在登月過程中,除了要控制推進外,還會進行著一系列不那么重要的計算。

  那時瑪格麗特就考慮到,當大量數據涌入電腦,系統扛不住時應該怎么辦。所以為了保險起見,她細心地在原有的基礎上添加了這個“異步處理程序”,來解決問題。

  當沒有足夠空間運行時,電腦最寶貴的存儲空間便會留給最關鍵的部分,比如最重要的——讓鷹號在月球登陸。而其他低優先級的任務,如雷達交換數據任務將會被暫時切斷。

  每個人都看到了阿姆斯特朗在月球上的第一步。然而,不是每個人都知道這背后,有這么一位女程序員也為女性邁出了一大步。

  瑪格麗特拯救人類的登月計劃時,年齡不過 33 歲。除了登月,這位先驅女極客還曾為廣大“碼農”正名,首次使用了“軟件工程師”一詞來稱呼包括自己在內的程序員。

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

  登月成功后,瑪格麗特也功成身退,離開 NASA 出來創建自己的公司,繼續在軟件行業努力。

[[270297]]

  2003 年,她也因當初的貢獻獲得美國宇航局對個人的最高獎勵,NASA 杰出太空行動獎。2016 年,她再次獲得美國最高的民事榮譽總統勛章,與蓋茨、喬丹同臺領獎。

  回顧那段從零開始的程序員生活,她說自己是世界上最幸運的人。因為“別無選擇,只能成為先驅者,沒有時間成為初學者”。

責任編輯:張燕妮 來源: 騰訊科技&知乎
相關推薦

2023-03-08 09:43:42

2019-07-20 22:46:48

2013-08-07 11:48:11

2020-10-19 08:55:57

微軟程序員互聯網

2015-06-19 15:21:59

程序員

2022-08-01 09:43:19

程序員Googlefacebook

2014-07-14 10:26:02

JQueryJQuery插件

2019-04-10 16:17:02

程序員結構源代碼

2020-07-30 07:33:30

程序員

2013-12-24 09:59:48

程序員管理

2017-11-10 12:43:43

整潔代碼開發程序員

2011-07-20 09:11:58

C++

2017-03-13 09:07:05

測定代碼基因

2015-08-31 10:14:30

程序員處理代碼糟糕代碼

2015-09-01 11:20:58

程序員糟糕代碼

2012-07-18 10:35:22

GitHub程序員代碼

2019-07-21 21:56:38

代碼開發工具

2013-05-24 09:43:35

2013-04-25 23:01:20

互聯網惠普Moonshot

2021-08-28 23:26:14

程序員編碼電腦
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜网站视频 | 日本天堂一区 | 成人午夜免费视频 | 国产成人一区在线 | 亚洲精品视频在线观看免费 | 99这里只有精品视频 | 偷拍自拍网址 | 91一区二区三区在线观看 | 国产精品久久久久久妇女 | 欧亚av在线| 国产精品精品久久久 | 一级做a爰片性色毛片16美国 | 国产99久久久国产精品 | 欧美日韩中文字幕 | 午夜精品在线观看 | 91成人精品视频 | 国产精品国产三级国产aⅴ原创 | 精品国产一区二区三区久久狼黑人 | 亚洲男人天堂 | 欧美在线视频观看 | 精品免费在线 | 99国产精品久久久 | 在线一级片 | 精品九九久久 | 中文字幕一区二区三区在线乱码 | 国产精品久久久久久久久久久久冷 | 国产成人91| a国产一区二区免费入口 | 国产精品九九九 | 天天色影视综合 | 亚洲综合伊人 | 亚洲欧美另类在线观看 | 成人h动漫精品一区二区器材 | 精品久| 中文字幕一区二区三区不卡 | 99热精品久久 | 一级免费黄色 | 午夜精品久久久久久久久久久久 | 在线视频一区二区三区 | 亚洲精品乱码久久久久久蜜桃91 | 性高湖久久久久久久久3小时 |