@ 2016.07.12 , 15:34

阿波罗计划软件代码公开,可免费下载

[-]

控制阿波罗11号的飞行软件代码近日首次上传到著名的代码共享网站GitHub上。这不仅让当代码农得以一窥过去,里面也充满了上世纪60年的流行文化痕迹,这就像一个代码时间胶囊。

这些代码是由MIT仪器实验室的程序员们在60年代中期从零写起的,因为人类之前从未去过月球。为了圆满完成任务,团队发明了一种让电脑储存程序的新方式——“磁心线储存器”,其中用到了一种复杂到逆天的汇编语言。

[-]

现在这些代码全部都在GitHub上了,传说中的“阿波罗导航电脑代码(Apollo Guidance Computer——AGC)”。它们第一次公开是几年前MIT上传的扫描件,直到2003年,一个叫做Ron Burkey的人手动将每一行代码敲了出来,并上传到网上。

Bukey说:“一个叫做Gary Neff的科罗拉多飞行员扫描的。MIT拿到了这些扫描件,然后把图片上传到网上,但很不幸,上传过程中被损坏了,很多地方都看不清。”

“后来,我想办法从Gary Neff那搞到了损坏部分的副本,结果发现我补上的那部分竟然是100%正确的。”

尽管Burkey付出了大量心血,这份代码从未在网上流传开来。直到上周一位叫做Chris Garry的前NASA实习生把它上传到GitHub上。

虽然这些代码对今天的程序员意义重大,因为他们可以从中看到前辈们的历史,但是对我们这些门外汉而言,最酷就是能看到码农们在字里行间抖的机灵和那些60年代的梗。

煮个栗子,其中一个文件叫做“燃烧吧_宝贝_燃烧吧- -主要_点火_程序”(BURN_BABY_BURN- - MASTER_IGNITION_ROUTINE),描述如下:

[-]
这要追溯到1965年的那场洛杉矶骚动,灵感来源于著名DJ Magnificent Montague,他一边打碟,一边说着“燃烧吧,宝贝!燃烧吧!”。他那时是50年代中期到60年代中期芝加哥、纽约和洛杉矶的灵歌歌王。

还有引用莎士比亚的著作:

[-]

整个AGC中有着无数这样的包袱,那些MIT的程序员可能觉得永远也没人能注意到这些。

[-]

[-]
太长不译

它还告诉我们在过去这半个世纪中,人类的科技取得如此大的进步。AGC帮助宇航员在1969年登上月球,它用的内存只有64K,而iPhone 6的内存几乎是它的25万倍。

戳这里可以看到完整的AGC代码。

本文译自 sciencealert,由 许叔 编辑发布。

赞一个 (25)