阿波罗 11 号的源代码现在可到 GitHub 查看了 让我们来一场说走就走的旅行吧

极客网消息,上周四,一位名叫克里斯·加里(Chris Garry)的NASA前实习生给开源代码分享网站Github送了一份大礼,加里上传了“阿波罗11号”登月项目计算机制导系统的源代码,使得普通民众也能一览航天登月系统的内部实现逻辑。

阿波罗计算机制导系统(Apollo Guidance Computer)作为“阿波罗11号”的舰载系统,于1969年7月份的时候成功登上了月球。

这份源代码是由MIT仪器实验室的计算机工程师前驱玛格丽特·汉密尔顿(margaret hamilton)所编写的。在这段代码被发布之后,互联网世界不久就进入了高速发展时期。

根据科林(Collins)在一份报告中的描述,这段以汇编语言编写的代码即便是对今天的程序员来说,也堪称教科书般的存在。

其实,「阿波罗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 号导引系统的源代码,感兴趣的朋友们不妨去看看。

扩展阅读:

关于阿波罗计划

阿波罗计划(Project Apollo)或作阿波罗工程,港澳地区及台湾曾称其为太阳神计划,是美国国家航空暨太空总署从1961年至1972年从事的一系列载人航天任务,于1960年代的10年中,主要致力于完成载人登陆月球和安全返回地球的目标。 1969年,阿波罗11号宇宙飞船达成了上述目标,尼尔·阿姆斯壮成为第一个踏足月球表面的人类。为了进一步执行在月球的科学探测,阿波罗计划一直延续到1970年代早期。总共耗资约240亿美元,因此有人认为,资金是美国能够领先一步登陆月球的最大因素。

阿波罗计划是美国国家航空暨太空总署执行的迄今为止最庞大的月球探测计划,「阿波罗」飞船的任务包括为载人登月飞行作准备和实现载人登月飞行,已于1972年底结束。迄今(2016年)40多年来还没有过其他的载人太空飞行器离开过地球轨道。阿波罗计划详细地揭示了月球表面特性、物质化学成份、光学特性并探测了月球重力、磁场、月震等。后来的天空实验室计划和美国、苏联联合的阿波罗-联盟测试计划也使用了原来为阿波罗建造的设备,也就经常被认为是阿波罗计划的一部分。

阿波罗计划取得了巨大的成功,惟计划中也有过几次严重的危机,包括阿波罗1号测试时的大火造成维吉尔·格里森、爱德华·怀特和罗杰·查菲的死亡;阿波罗13号的氧气罐爆炸以及阿波罗-联盟测试计划返回大气层时排放的有毒气体都几乎使执行任务的太空人丧命。

阿波罗计划阴谋论

阿波罗登月计划阴谋论(英语:Moon landing conspiracy theories)是一系列针对美国阿波罗登月计划(1961年-1972年)的怀疑论(骗局论、造假论)。其认为美国阿波罗登月计划是NASA与部份组织协助下所制作出来的大骗局。其最显着的言论是1969年7月时人类从未登上月球(包含前后的6次登月及前后共12名登月的太空人)。自1970年代中期开始有许多团体和个人出面指称NASA和一些知情者透过伪造、窜改、销毁相关的证据档案资料(包括了照片、录音带、岩石样本等等)企图误导社会大众去相信登月计划。

一般而言,大多数的民众、媒体及太空爱好者们不采信此种说法,民意调查显示绝大多数美国民众相信阿波罗登月计划成功实施,根据1999年盖洛普组织民意调查结果,89 %的美国公民相信人类曾经登陆过月球,而6%的人不相信,5%的人则不确定或无意见.而根据美国探索频道节目《流言终结者》关于破解此「流言」的一集内容中的调查,则有高达20%的美国公民并不相信美国人曾经登陆过月球一事。另有2013年报导表明37%的美国人不相信登月。

尽管已有许多第三方团体提出许多资料反驳阴谋论者的论点,但经过了40多年,阴谋论仍不断流传,2001年,美国电视网络业福斯广播公司(Fox Broadcasting Company)推出一部纪录片名为《阴谋论:我们登上月亮了吗?》(Conspiracy Theory: Did We Land on the Moon?)指称当年NASA伪造登月事件其目的是为了赢得与苏联的太空竞赛。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2016-07-13
阿波罗 11 号的源代码现在可到 GitHub 查看了 让我们来一场说走就走的旅行吧
极客网消息,上周四,一位名叫克里斯·加里(Chris Garry)的NASA前实习生给开源代码分享网站Github送了一份大礼,加里上传了“阿波罗11号”登月项目计算机制导系统的源代码,使得普通民众也能一览航天登月系统的内部实现逻辑。

长按扫码 阅读全文