上周四,一位前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原创文章,予以许可禁令刊登。
下文闻刊登须知。
本文来源:IM电竞官网-www.regencytheatre2016.com