阿波羅 11 號(hào)的源代碼現(xiàn)在可到 GitHub 查看了 讓我們來(lái)一場(chǎng)說(shuō)走就走的旅行吧

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

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

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

根據(jù)科林(Collins)在一份報(bào)告中的描述,這段以匯編語(yǔ)言編寫的代碼即便是對(duì)今天的程序員來(lái)說(shuō),也堪稱教科書般的存在。

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

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

經(jīng)過(guò)火眼金睛的網(wǎng)友、工程師們的仔細(xì)研讀,不禁在源代碼中發(fā)現(xiàn)了許多有趣的段落,現(xiàn)摘錄如下。

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

2. 另外,阿波羅的工程師們?cè)谝欢侮P(guān)于點(diǎn)火程序的注釋中,竟然講起了故事,是的,你沒有聽錯(cuò),是在講故事。詳細(xì)介紹了那句「Burn,Baby!Burn!」的由來(lái)。 (大意是說(shuō)這句話最先來(lái)自一位著名電臺(tái)主持 Magnificent Montague,經(jīng)他之手捧紅了一大批美國(guó) Soul Music 歌曲)

3. 還有,阿波羅的工程師們非常貼心,還在源代碼的相關(guān)部分寫上了宇航員此刻在進(jìn)行登陸艇操作時(shí)的注意事項(xiàng),比如「請(qǐng)展開登陸雷達(dá)」等。當(dāng)然,這里阿波羅的工程師用 the silly thing(蠢東西)代指了 landing radar(登陸雷達(dá))。

4. 更令人吃驚的是,登月源代碼中竟然還隱藏了莎士比亞的名著《亨利六世》中的一個(gè)片段:“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.” 大義是說(shuō):「我要徑直向你們指出,你任用了許多人,讓他們大談什么名詞啊,什么動(dòng)詞啊,以及這一類的可惡字眼,這都是任何一個(gè)基督徒的耳朵所不能忍受的」。

關(guān)于為什么會(huì)在代碼中出現(xiàn)這么一段「莎翁名言」,有人猜測(cè)是因?yàn)镸IT(麻省理工)的科學(xué)家在構(gòu)建登月源代碼時(shí)將許多程序指令預(yù)設(shè)成一個(gè)數(shù)字,然后通過(guò)這些「數(shù)字」來(lái)進(jìn)行操作,比如「37」就代表「執(zhí)行(Run program)」。然后下面執(zhí)行編寫任務(wù)的工程師們不勝其煩,整天要查表才能知道這些數(shù)字究竟代表什么意思,于是忍不住在代碼中吐槽了一下。

現(xiàn)在,任何人都可以訪問(wèn) GitHub 來(lái)獲取阿波羅 11 號(hào)導(dǎo)引系統(tǒng)的源代碼,感興趣的朋友們不妨去看看。

擴(kuò)展閱讀:

關(guān)于阿波羅計(jì)劃

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

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

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

阿波羅計(jì)劃陰謀論

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

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

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

極客網(wǎng)企業(yè)會(huì)員

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

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

長(zhǎng)按掃碼 閱讀全文