转载

50多年前的代码,就已经能让程序员看不懂了

  上周四,前 NASA 的实习生 Chris Garry 将当时科学家给阿波罗 11 号(Apollo 11)登月所编写的部分原始代码放到了 Github 上。

  尽管这段代码早在 2003 年已经被研究员 Ron Burkey 从原始文件中转录到了网络上,但这是第一次公众能如此快捷地获取到这段代码。

  代码公布后,引发了互联网上的一轮讨论热潮。

50多年前的代码,就已经能让程序员看不懂了

  Twitter 上很多人表示看不懂这段 50 多年前编写的代码

  大家除了研究这些距今已经 50 多年,很多程序员已经很难看懂的程序语言之外,也发现了当时科学家在代码注释中写下的一些有趣的细节和调侃。

  比如说这段代码注释, BURN_BABY_BURN—MASTER_IGNITION_ROUTINE.s(燃烧吧,宝贝儿,控制点火程序)

50多年前的代码,就已经能让程序员看不懂了

  在注释中他们详细解释了这段代码的出处,是一个 1965 年发生在洛杉矶的故事。

  还有这段以 HELLO 和 GOODBYE 结尾,一段反映团队成员之间交流的的代码注释。

50多年前的代码,就已经能让程序员看不懂了

  有些科学家们还会给自己编写的程序加几句评论,比如这段 TRASHY LITTLE SUBROUTINES in LUNAR_LANDING_GUIDANCE_EQUATIONS.s.(这位科学家评价自己写的这段代码是“无用小垃圾” )

  还有一些颇具诗意的科学家,他们甚至引用了莎士比亚的语录。

50多年前的代码,就已经能让程序员看不懂了

  当时科学家们采用的还是一种非常初级的汇编语言进行编程,NASA 在此基础上创造了其独特版本的汇编语言,因此现在看起来更加的晦涩难懂。

  阿波罗 11 号( Apollo 11)是美国航空航天局登月计划中的一部分。1969 年宇航员阿姆斯特朗首次登月,他说的那一句 “这只是我的一小步,却是人类的一大步” 你或许还记忆犹新,但距离人类首次登月时间已经过去了 50 多年。

  这 50 多年间,计算机技术发生着迅猛的变化。上世纪 60 年代的计算机还是由晶体管电路所搭载的,阿波罗 11 号(Apollo 11)登月项目也是电脑软件第一次担任如此重要的关键角色。

  50 多年前,当麻省理工的程序编写小组想要为阿波罗编写一套系统时,他们甚至连应该用什么工具编写都不知道。

50多年前的代码,就已经能让程序员看不懂了

  这是当时被写满了代码的文档,叠起来比研究员 Margaret Hamilton 还要高

  这套复杂难懂的汇编语言现在可能已经没有什么人能看得懂,也不再广泛适用于编程领域。但是这并不妨碍人们用调侃的方式来表达对这段已经过时了的代码的兴趣,在 Github 上有人在阿波罗 11 号(Apollo 11)的讨论区创建了名为 MATTDAMON.s 的文件。

  是的,他们打算用这段代码把马特·达蒙从火星救回来。 

  题图来自  QUARTZ

正文到此结束
Loading...