我一直想知道:用什么编程语言登月? 我意识到可能没有一个答案/语言,但它让我感兴趣。
有多少人参与了这些系统的代码?它是如何测试的?
答案 0 :(得分:32)
不是完整答案,而是更多信息:
“机载阿波罗制导计算机(AGC)大约1立方英尺,带有2K的16位RAM和36K的硬线芯绳存储器,铜线穿过或没有穿过微小的磁芯。位字通常是14位数据(或两个操作码),1个符号位和1个奇偶校验位。循环时间为11.7微秒。编程是用汇编语言和解释语言完成的,反向波兰语。“
http://www.hq.nasa.gov/alsj/a11/a11.1201-fm.html
补充说:英国广播公司最近发表了wonderful article about the AGC,其中包括对设计师的采访,以及编织“绳索核心”的“小老太太”。它没有涵盖软件的设计,编码或测试方式,但你可能会发现它一样有趣!
此外,可以找到主模块和登陆模块的源代码here
答案 1 :(得分:7)
答案 2 :(得分:5)
Apollo Guidance Computer是用汇编语言编写的。
答案 3 :(得分:2)
来自"Digitial Apollo Human and Machine in Spaceflight"的David A. Mindell,麻省理工学院出版社(C)2008
PG。 149
Apollo的软件源于火星任务的基本设计。 设计师Hugh-Blair Smith创造了一种名为“Basic”的语言,a 大约四十条指令的低级语言(不同于 在达特茅斯开发的高级BASIC编程语言 大约在同一时间)。在BASIC之上是“口译员”,是其中的心血结晶 Hal Laning,这种语言实际上是一系列惯例 与gudance和。相关的更高级别的数学函数 控制,采用高精度数据格式。
答案 4 :(得分:1)
不完全是月亮,而是Lisping at JPL。
答案 5 :(得分:1)
我记得读过同样的软件是由(至少)两个不同的不相交的团队编写的。然后计算机将他们的答案进行比较并检查是否存在任何差异......不确定如果发现任何差异会发生什么,但至少他们会知道存在问题。我认为他们实际上使用了四台不同的计算机,并获得了多数投票,所以如果一台计算机出错了,就会被忽略。