阿波羅 11 號的源代碼現在可到 GitHub 查看了 讓我們來一場說走就走的旅行吧

極客網消息,上周四,一位名叫克里斯·加里(Chris Garry)的NASA前實習生給開源代碼分享網站Github送了一份大禮,加里上傳了“阿波羅11號”登月項目計算機制導系統(tǒng)的源代碼,使得普通民眾也能一覽航天登月系統(tǒng)的內部實現邏輯。

阿波羅計算機制導系統(tǒng)(Apollo Guidance Computer)作為“阿波羅11號”的艦載系統(tǒng),于1969年7月份的時候成功登上了月球。

這份源代碼是由MIT儀器實驗室的計算機工程師前驅瑪格麗特·漢密爾頓(margaret hamilton)所編寫的。在這段代碼被發(fā)布之后,互聯網世界不久就進入了高速發(fā)展時期。

根據科林(Collins)在一份報告中的描述,這段以匯編語言編寫的代碼即便是對今天的程序員來說,也堪稱教科書般的存在。

其實,「阿波羅11 號」登月計劃的源代碼早在2003 年就被科技學者Ron Burkey 公布于眾,那時他不得不從一份原文的掃描版中人工將代碼一行一行地敲入電腦,并上傳到網絡。如下圖所示,照片右側一人高的紙上全是阿波羅 11 號登月的源代碼,你就可以想像 Ron Burkey 是多么有毅力的一個人。除了上傳該源代碼,Ron Burkey 還根據自己對代碼邏輯的理解,寫了一個阿波羅 11 號導引系統(tǒng)的模擬程序。

可能由于分享工具的關系,當年源代碼上傳后并沒有被廣大的工程師看到(也可能當年的工程師數量比較少一點)。一直到上周四源代碼被上傳到 Github,這才引起了廣泛的關注和熱烈的討論。

經過火眼金睛的網友、工程師們的仔細研讀,不禁在源代碼中發(fā)現了許多有趣的段落,現摘錄如下。

1. 首先是在現代系統(tǒng)編程中被明令禁止的「魔鬼數字」(一般都要求在代碼開頭用帶有明確意義的宏定義代替程序中出現的具體數字,否則會造成他人閱讀程序的障礙) .萬萬沒想到,堂堂大 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」就代表「執(zhí)行(Run program)」。然后下面執(zhí)行編寫任務的工程師們不勝其煩,整天要查表才能知道這些數字究竟代表什么意思,于是忍不住在代碼中吐槽了一下。

現在,任何人都可以訪問 GitHub 來獲取阿波羅 11 號導引系統(tǒng)的源代碼,感興趣的朋友們不妨去看看。

擴展閱讀:

關于阿波羅計劃

阿波羅計劃(Project Apollo)或作阿波羅工程,港澳地區(qū)及臺灣曾稱其為太陽神計劃,是美國國家航空暨太空總署從1961年至1972年從事的一系列載人航天任務,于1960年代的10年中,主要致力于完成載人登陸月球和安全返回地球的目標。 1969年,阿波羅11號宇宙飛船達成了上述目標,尼爾·阿姆斯壯成為第一個踏足月球表面的人類。為了進一步執(zhí)行在月球的科學探測,阿波羅計劃一直延續(xù)到1970年代早期??偣埠馁Y約240億美元,因此有人認為,資金是美國能夠領先一步登陸月球的最大因素。

阿波羅計劃是美國國家航空暨太空總署執(zhí)行的迄今為止最龐大的月球探測計劃,「阿波羅」飛船的任務包括為載人登月飛行作準備和實現載人登月飛行,已于1972年底結束。迄今(2016年)40多年來還沒有過其他的載人太空飛行器離開過地球軌道。阿波羅計劃詳細地揭示了月球表面特性、物質化學成份、光學特性并探測了月球重力、磁場、月震等。后來的天空實驗室計劃和美國、蘇聯聯合的阿波羅-聯盟測試計劃也使用了原來為阿波羅建造的設備,也就經常被認為是阿波羅計劃的一部分。

阿波羅計劃取得了巨大的成功,惟計劃中也有過幾次嚴重的危機,包括阿波羅1號測試時的大火造成維吉爾·格里森、愛德華·懷特和羅杰·查菲的死亡;阿波羅13號的氧氣罐爆炸以及阿波羅-聯盟測試計劃返回大氣層時排放的有毒氣體都幾乎使執(zhí)行任務的太空人喪命。

阿波羅計劃陰謀論

阿波羅登月計劃陰謀論(英語:Moon landing conspiracy theories)是一系列針對美國阿波羅登月計劃(1961年-1972年)的懷疑論(騙局論、造假論)。其認為美國阿波羅登月計劃是NASA與部份組織協助下所制作出來的大騙局。其最顯著的言論是1969年7月時人類從未登上月球(包含前后的6次登月及前后共12名登月的太空人)。自1970年代中期開始有許多團體和個人出面指稱NASA和一些知情者透過偽造、竄改、銷毀相關的證據檔案資料(包括了照片、錄音帶、巖石樣本等等)企圖誤導社會大眾去相信登月計劃。

一般而言,大多數的民眾、媒體及太空愛好者們不采信此種說法,民意調查顯示絕大多數美國民眾相信阿波羅登月計劃成功實施,根據1999年蓋洛普組織民意調查結果,89 %的美國公民相信人類曾經登陸過月球,而6%的人不相信,5%的人則不確定或無意見.而根據美國探索頻道節(jié)目《流言終結者》關于破解此「流言」的一集內容中的調查,則有高達20%的美國公民并不相信美國人曾經登陸過月球一事。另有2013年報導表明37%的美國人不相信登月。

盡管已有許多第三方團體提出許多資料反駁陰謀論者的論點,但經過了40多年,陰謀論仍不斷流傳,2001年,美國電視網絡業(yè)福斯廣播公司(Fox Broadcasting Company)推出一部紀錄片名為《陰謀論:我們登上月亮了嗎?》(Conspiracy Theory: Did We Land on the Moon?)指稱當年NASA偽造登月事件其目的是為了贏得與蘇聯的太空競賽。

免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2016-07-13
阿波羅 11 號的源代碼現在可到 GitHub 查看了 讓我們來一場說走就走的旅行吧
極客網消息,上周四,一位名叫克里斯·加里(Chris Garry)的NASA前實習生給開源代碼分享網站Github送了一份大禮,加里上傳了“阿波羅11號”登月項目計算機制導系統(tǒng)的源代碼,使得普通民眾也能一覽航天登月系統(tǒng)的內部實現邏輯。

長按掃碼 閱讀全文