阿波罗11号登月代码重现江湖 内含大量码农吐槽
网易科技讯7月12日 消息,上周四,一位名叫克里斯・加里(ChrisGarry)的NASA前实习生给开源代码分享网站Github送了一份大礼,加里上传了“阿波罗11号”登月项目计算机制导系统的源代码,使得普通民众也能一览航天登月系统的内部实现逻辑。但令人啼笑皆非的是,当时阿波罗号的计算机工程师们在敲入这段代码时,还加入了大量自己的吐槽。若按现在的视角再去看品味,它们就像是上世纪60年代的计算机极客们,留给我们的时间胶囊。
阿波罗计算机制导系统(Apollo GuidanceComputer)作为“阿波罗11号”的舰载系统,于1969年7月份的时候成功登上了月球。
这份源代码是由MIT仪器实验室的计算机工程师前驱玛格丽特・汉密尔顿(margarethamilton)所编写的。在这段代码被发布之后,互联网世界不久就进入了高速发展时期。
根据科林(Collins)在一份报告中的描述,这段以汇编语言编写的代码即便是对今天的程序员来说,也堪称教科书般的存在。
但令人啼笑皆非的是,当时阿波罗号的工程师们在敲入这段代码时还加入了大量自己的吐槽,当然其中有些只是对程序模块的注释,若按现在的视角再去看品味,它们就像是上世纪60年代的那些计算机极客们,留给我们的时间胶囊。
国外社交新闻网站Reddit上的网友们,最近正欢快地逐一阅览这些隐藏在代码字里行间中的码农吐槽,并细细体味那些只有圈内人才能明白的笑话和那些流行在那个年代的美国文化。
举个例子,阿波罗的程序员们在一段关于点火程序的注释里,这样写道:“Burn,Baby!Burn!”(燃烧吧,宝贝!燃烧吧)。这是当时美国最受欢迎的DJ伟大的蒙塔古(MagnificentMontague)的口头禅,在1965年洛杉矶沃茨动乱时期,它成为了人尽皆知的流行语。
还有一段代码,它被程序员们命名为“TRASHY LITTLE SUBROUTINES”(没用的小程序)。
在一段名为“PINBALL_GAME_BUTTONS_AND_LIGHTS.s”的代码中,程序们甚至还往里面插入了莎士比亚的名著《亨利六世》中的一个片段。
# THE FOLLOWING QUOTATION IS PROVIDED THROUGH THE COURTESY OF THEAUTHORS.
# "IT WILL BE PROVED TO THY FACE THAT THOU HAST MEN ABOUT THEETHAT
# USUALLY TALK OF A NOUN AND A VERB, AND SUCH ABOMINABLE WORDS ASNO
# CHRISTIAN EAR CAN ENDURE TO HEAR."
# HENRY 6, ACT 2, SCENE 4
这段话的大意是说:“我要径直向你们指出,你任用了许多人,让他们大谈什么名词啊,什么动词啊,以及这一类的可恶字眼,这都是任何一个基督徒的耳朵所不能忍受的”
对于莎文的诗文如何会出现在阿波罗制导系统的代码里,我们或许已经无法知晓这个历史谜题的答案了,但是Reddit上的一些用户却大胆地猜测,认为这段制导系统的代码是以两列数进行编写的,一个代表名词(noun),一个代表动词(verb)。
除此以外,还有一段代码被称之为“HONI SOIT QUI MAL YPENSE”这是嘉德勋爵士团的座右铭,大意为“淫邪者当羞愧”。
而在另一行代码的注释里,那位码农还警告那些阅读他这段代码的人,不要抨击或是取笑他的代码。
“我觉得这是一件令人羞愧的事,当我看到这些编写了带我们去月球的代码的人们其实和我们也没什么区别。”Reddit上的一位网友这样留言道。
其实,“阿波罗11号”登月项目的源代码早就已经出现在网上了。在2003年的时候,它就被科技学者罗恩・布尔凯(RonBurkey)公布于众。那时的布尔凯不得不从一份原文的扫描版中,人工地将代码一行一行地敲入计算机,并上传到网络。
如今GitHub的助力,又重新燃起了人们对这段阿波罗代码的兴趣。(止水)