阿波羅11號登月原始碼公布,其中竟隱藏莎翁名言

2020-11-22 雷鋒網

上周四,一位前NASA的實習生Chris Garry在Github上公開了「阿波羅11號」登月項目計算機制導系統的原始碼,使得普通民眾也能一覽航天登月系統的內部實現邏輯。(只不過當年用彙編寫的代碼,一般人可能看不太懂就是了)

其實,「阿波羅11號」登月項目的原始碼早在2003年就被科技學者Ron Burkey公布於眾,那時他不得不從一份原文的掃描版中人工將代碼一行一行地敲入計算機,並上傳到網絡。如下圖所示,照片右側一人高的紙上全是阿波羅11號登月的代碼,你就可以想像Ron Burkey是多麼有毅力的一個人。除了上傳該代碼,Ron Burkey還根據自己對代碼邏輯的理解,寫了一個阿波羅11號制導系統的仿真程序,關於該程序的視頻大家可以點這裡

可能由於分享工具的關係,當年代碼上傳後並沒有被廣大的程式設計師看到(也可能當年的程式設計師數量比較少)。一直到上周四代碼被上傳到Github,這才引起了廣泛的關注和熱烈的討論。

經過火眼金睛的網友、程式設計師們的仔細研讀,不禁在代碼裡發現了許多有趣的段落,小編現摘錄如下。

1. 首先是在現代系統編程中被明令禁止的「魔鬼數字」(一般都要求在代碼開頭用帶有明確意義的宏定義代替程序中出現的具體數字,否則會造成他人閱讀程序的障礙)。萬萬沒想到,堂堂大NASA登月計劃的代碼裡竟然隱藏了「魔鬼數字」,不禁令廣大的程式設計師朋友們咋舌。

2. 另外,阿波羅的程式設計師們在一段關於點火程序的注釋裡,竟然講起了故事,是的,你沒有聽錯,是在講故事。詳細介紹了那句「Burn,Baby!Burn!」的由來。(大意是說這句話最先來自一位著名電臺主持Magnificent Montague,經他之手捧紅了一大批美國Soul Music歌曲)

3. 還有,阿波羅的程式設計師們非常貼心,還在代碼的相關部分寫上了航天員此刻在進行飛船操作時的注意事項,比如「請展開登錄雷達」等。當然,這裡阿波羅的程式設計師用the silly thing(蠢東西)代指了landing radar(登錄雷達)(~ ̄▽ ̄)~。

4. 更令人吃驚的是,登月代碼裡竟然還隱藏了莎士比亞的名著《亨利六世》中的一個片段:"IT WILL BE PROVED TO THY FACE THAT THOU HAST MEN ABOUT THEE THAT USUALLY TALK OF A NOUN AND A VERB, AND SUCH ABOMINABLE WORDS AS NO CHRISTIAN EAR CAN ENDURE TO HEAR." 大義是說:「我要徑直向你們指出,你任用了許多人,讓他們大談什麼名詞啊,什麼動詞啊,以及這一類的可惡字眼,這都是任何一個基督徒的耳朵所不能忍受的」。

關於為什麼會在代碼裡出現這麼一段「莎翁名言」,有人猜測是因為MIT(麻省理工)的科學家在構建登月代碼時將許多程序指令預設成一個數字,然後通過這些「數字」來進行操作,比如「37」就代表「執行(Run program)」。然後下面執行編寫任務的程式設計師們不勝其煩,整天要查表才能知道這些數字究竟代表什麼意思,於是忍不住在代碼裡吐槽了一下。

現在,任何人都可以訪問GitHub來獲取阿波羅11號制導系統的原始碼,感興趣的朋友們不妨去看看吧:請點擊

來源:engadget,Quartz,sourceforge

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 耗時三年,14萬行,50年前阿波羅11號登月的全部代碼都能在GitHub找到了!
    大數據文摘出品作者:易琬玉50年前的今天,美國太空人尼爾森·阿姆斯特朗從阿波羅11號飛船登月艙走出,在月球表面留下了人類登月的第一個腳印。AR應用「JFKmoonshot」模擬的從Apollo11太空艙走出的視頻美國總統甘迺迪1961年就設定了登月目標。阿波羅計劃歷時9年,經歷了10次失敗,Apollo11號才終於將人類的蹤跡帶到了月球。
  • 阿波羅11號登月飛船原始碼:除了代碼還有笑料和吐槽
    上世紀60年代中期,麻省理工學院(MIT)儀器實驗室的程式設計師們為阿波羅11號登月計劃開發飛行控制軟體,由於當時還沒有開發軟體所需要的技術積累,所以他們必須自己打造一套體系出來。MIT的程式設計師們為阿波羅制導計算機(AGC)編寫了成千上萬行的那種深奧代碼。 從下圖中,可以直觀地感受到他們到底寫了多少代碼。圖為阿波羅登月計劃軟體工程主管瑪格麗特·漢密爾頓(Margaret Hamilton),她旁邊是一大堆的AGC代碼文件。
  • 登月50年|阿波羅11號險墜毀!是她的代碼讓人類成功登月
    騰訊科技聯合知乎發起「登月50年」系列策劃,聚焦人類探索月球的點點滴滴,一起回顧人類和月球的往事。第三期:她的一串代碼讓人類登月,兩次化解航天災難,是程式設計師永恆的女神文/知乎專欄作者:SME情報員2017年9月15日,土星探測儀卡西尼已宣告自毀成功,完成了人類探索土星的悲壯史命。
  • NASA阿波羅登月暗藏驚天秘密 阿波羅11號竟遇外星人?(圖文)
    進入公眾號可查看全部歷史消息!美國阿波羅11號登月,堪稱人類奇蹟,不過美國卻一直在向大眾隱瞞當年真相,在一份NASA絕密檔案裡,我們可以看到,當年阿波羅11號竟在月球上遇見過外星人,這到底是怎麼回事?除了這件事之外,NASA還向公眾隱瞞了哪些登月事情?
  • 美國的阿波羅登月計劃背後隱藏的秘密,神秘代碼1201是什麼?
    人類登月,我們不得不提的就肯定是人類的首次登月了——美國的阿波羅11號,這是人類的第一次,所以NASA也進行了全球的直播,發射的時候大概有6億人在看,而登月的時候也將近有5億人在看。出發的時候,阿波羅11號搭載著三個太空人飛往月球的途中
  • 人類登月40年「阿波羅11號」登月八大內幕(組圖)
    日前,英國媒體披露了更多「阿波羅11號」的登月內幕,以及英國400年前的「載人登月計劃」。  內幕一  登月美國國旗化為灰燼  美國「阿波羅11號」登月任務中插在月球表面的那面美國國旗,一直是「月球陰謀論」中飽受質疑的主角,陰謀論者質疑稱,月球上沒有空氣,可太空人插在月球表面的美國國旗卻能迎風飄揚,這一漏洞顯示太空人仍然身處地球。
  • 阿波羅11號登月秘密(三):終於邁出"全人類的一大步」
    四天後,阿姆斯特朗和奧爾德林將阿波羅11號登月艙「鷹」號降落在月球上的靜海,成為首次踏上月球表面的人類。今年是阿波羅11號登月任務50周年,網易科技《知否》欄目組特別推出「你不知道的登月秘密」系列文章,一起回顧人類探月進程中那些鮮為人知卻值得紀念的瞬間。
  • 多圖預警:阿波羅11號登月的那些事
    搭載尼爾阿姆斯特朗和巴茲·奧爾德林的「小鷹」號登月艙,正在進行人類歷史上的第一次載人登月1、1969年,「阿波羅11」號太空人與一個月球模型合影留念。3、1969年7月16日,佛羅裡達州卡納維拉爾角的甘迺迪航天中心,「阿波羅11」號太空人準備登車,前往發射場4、1969年7月16日上午9點32分,甘迺迪航天中心,「阿波羅11」號飛船搭乘土星V型火箭從39號發射架發射升空。
  • 人類登月五十年,憶阿波羅11號的奇妙冒險。
    11號飛船,載著三位航天員開始了他們的登月之旅。於是,阿波羅11號登月艙繼續下落。但實際上,勇敢的航天員們不知道,他們的處境早已危機四伏。在登月的最終三分鐘裡有一個「死亡區間」,儘管只持續10秒,但破壞力極大。在這段時間內,登月艙下落的速度非常快。如果此時決定放棄登月,打算啟動登月艙的上升發動機,從而乘坐登月艙的上升段回到月球軌道,就會發生燃料箱因下降衝力而報廢的情況。
  • 多圖預警,「阿波羅11」號登月的那些事兒
    搭載尼爾•阿姆斯特朗和巴茲·奧爾德林的「小鷹」號登月艙,正在進行人類歷史上的第一次載人登月1969年,「阿波羅11」號太空人與一個月球模型合影留念。1969年7月16日,佛羅裡達州卡納維拉爾角的甘迺迪航天中心,「阿波羅11」號太空人準備登車,前往發射場1969年7月16日上午9點32分,甘迺迪航天中心,「阿波羅11」號飛船搭乘土星V型火箭從39號發射架發射升空。土星V型火箭高363英尺(約合110米),相當於一座36層大樓,是歷史上製造的體積最為龐大的運載火箭之一。
  • NASA再次公布大批阿波羅號登月點高清照片、視頻
    為了真實再現當年的阿波羅登月壯舉、澄清某些流言蜚語,美國航空航天局(NASA)曾在2009年7月底公布一組照片,首次近距離展示了阿波羅11/14/15/16/17號登月點附近的情況。今天,NASA再次奉上大禮,又公布了阿波羅12/14/17號(13號未成功)登月點的多張清晰度空前的高清照片,以及一部高清視頻。
  • 阿波羅11號登月49周年
    日20時17分40秒(UTC),阿波羅11號登陸月球,7月21日2時56分(UTC),阿姆斯特朗踏上月球,這是他個人的一小步,卻是人類的一大步。為紀念阿波羅11號登月49周年,NASA TV將同步(49周年後)播放一段全新的視頻,請做好準備,直播地址:https://www.nasa.gov/multimedia/nasatv/#publicAstroReality 製作了重溫月球之旅的頁面,回顧了人類月球任務的歷史,最後定格於阿波羅11號著陸點,網址:https://  www.astroreality.com
  • 樂高10266NASA阿波羅11號登月艙測評
    關於樂高新款NASA合作套裝10266阿波羅11號登月艙,目前官方還沒有正式公布,但是盒照之前已經跟大家分享過了。而德國樂高媒體promobricks已經率先在德國樂高實體店買到了這款套裝,並且發布了該款套裝第一篇測評。與NASA相關的樂高套裝早就有了。
  • 阿波羅11號登月50周年紀念,人類為什麼自此不再登月了?
    2019年7月20是人類登月50周年紀念日。50年前的7月16日,巨大的「土星5號」火箭載著 「阿波羅11號」宇宙飛船從美國的甘迺迪航天中心點火升空。開始了人類首次的登月徵程。美國太空人阿姆斯特朗、奧爾德林和柯林斯乘坐宇宙飛船飛越了38萬公裡徵程。最終於7月20日踏上了月球表面。
  • 阿波羅 11 號登月 50 周年,回顧阿波羅號探月計劃
    北京時間7月15日消息,據美國宇航局網站報導,阿波羅11號飛船登月50周年紀念日臨近,讓我們再次回顧一下阿波羅號計劃的探月歷史。阿波羅7號:進行為期11天太空飛行進入太空的首個阿波羅任務是「阿波羅7號」,在為期11天的太空飛行中,機組人員對太空飛行器系統進行了一系列測試,並從美國太空飛船上主持了首個電視直播節目。
  • 阿波羅11號:超越競爭的奇蹟
    這標誌著美國乃至全世界登月徵程的開端,也開啟了人類探索月球的新時代。 登月之旅 儘管歷經波折,阿波羅計劃仍然一步步挺進月球,最終由阿波羅11號首先抵達了人類夢寐了數千年的終點。
  • 阿波羅11號 Apollo 11
    柯林斯、查爾斯·杜克、格林·倫尼、理察·尼克森、尼爾·阿姆斯特朗、約翰尼·卡森、理察·尼克森 Richard Nixon、迪克·斯雷頓 Deke Slayton   類型: 紀錄片   製片國家 地區: 美國   上映日期: 2019-01-24(聖丹斯電影節)、2019-03-01(美國)   片長: 93分鐘   又名: 阿波羅登月
  • 阿波羅11號:登月50年
    1969年7月20日,在「阿波羅11號」環月飛行了12圈、並釋出登月艙「鷹」之後,這一句久等的話,讓許許多多在場的工作人員熱淚盈眶。如今,刻畫宇宙探索的科幻大片層出不窮,月球已經不算是冒險家的樂園了,觀眾也不會更感興趣。
  • 阿波羅11號原始資料遺失,登月真實性再遭質疑,現在怎麼樣了?
    這批轉移的資料種類繁多,數量豐富,其中就包括了1969年阿波羅11號登月的原始資料,這批資料囊括了整個行動整個過程,可以說是見證美國最高光的時刻。資料總共14000多盤錄像帶,裝在2000多個箱子中,主要以影音資料為主(年紀較輕的朋友可能沒見過這種錄像帶,我國九十年代的時候,各個錄像廳中,播放的都是這種錄像帶),受當時技術的影響,每盤錄像帶平均約15分鐘的播放時間錄像帶包含了阿波羅11號從升空到登月、返回的整個過程。包含有各個監控站點、地面指揮中心、阿波羅11號機組人員等拍攝錄像和錄音。
  • 登月第一人阿波羅11號太空人阿姆斯特朗:為何在發布會上如此沮喪
    究竟如何,現在我們也不得而知了,因為登月英雄阿姆斯特朗已於2012年8月25日去世了,不過也許我們能從阿波羅登月工程中其他的飛船任務中發回的照片中發現一些端倪。1968年11月21日,搭載著阿波羅8號的土星五號重型運載火箭在甘迺迪航天中心順利升空,這是人類首次載人繞月飛行任務,主要目的是演練登月各個步驟,為下一步登陸做準備。