|只能存储12KB数据,“码农女神”是怎样把人类送上月球的?


导读:电脑算速极慢、只能存储12KB数据 , 临时存储空间仅1KB……在这样的条件下 , “码农女神”玛格丽特·汉密尔顿把阿波罗11号送上了月球 。
从那时兴起的工业软件 , 在之后的几十年里创造了哪些奇迹?谁才是智能制造的幕后英雄?
作者:赵敏 宁振波
来源:华章科技
|只能存储12KB数据,“码农女神”是怎样把人类送上月球的?
本文插图

01 “码农女神”和比她还高的代码
工业软件 , 原本兴于工业巨头 。 NASA、波音、洛克希德、福特等航太、汽车企业 , 从20世纪60年代就开始了软件的研发 。 软件代码所形成的控制指令 , 早就像血液一样流淌在产品之中 , 像中枢神经一样控制着产品行为 。
早年习惯用打印机将软件程序打印成册 , 供程序员审核查阅 。 作者在20世纪80年代初学习计算机的时候 , 还必须使用穿孔纸带来保存自己的作业程序 。 在那个时候的软件开发中 , 因为计算机少 , 可用机时有限 , 因此不得不把成千上万行软件程序打印出来 , 在纸面上仔细审阅修改 。
三十多年后的今天 , 别说是穿孔纸带 , 就连在纸面上打印程序 , 基本上都没有人做了 , 因为程序代码量实在是太多了!靠打印在纸上去查阅的方式已经无法满足程序员在短时间内阅读和调试大量代码的工作需要 , 这个工作已经交给了专业代码调试软件 。
在20世纪60~70年代阿波罗飞船计划实施时期 , 软件代码是一定要打印在纸上的 , 以方便查阅和备份 。
大家是否知道 , 当年NASA的“码农女神”——软件首席工程师玛格丽特·汉密尔顿 , 给阿波罗登月飞船写的导航和登陆程序的代码量有多少?打印纸堆起来比她本人的身高还要高!
|只能存储12KB数据,“码农女神”是怎样把人类送上月球的?
本文插图

▲玛格丽特和她为阿波罗11号飞船写的源代码
1968年12月21日 , 绕月的阿波罗8号飞船升空第5天 , 宇航员误操作删除了所有导航数据 , 致使飞船无法返航 。 玛格丽特带领MIT的程序员们连夜奋战9小时 , 设计出了一份新导航数据并经由巨大的地面天线阵列上传到阿波罗8号 , 让它顺利返航 。
1969年7月20日 , 阿波罗11号飞船登月前 , 危机再次发生 。 当年电脑算速极慢 , 系统只能存储12KB数据 , 临时存储空间仅1KB 。 飞船登月前几分钟 , 电脑因过度计算几近崩溃 。
正是玛格丽特首创的“异步处理程序” , 让阿波罗11号学会了“选择”:当电脑运行空间不足时 , 最宝贵的存储空间只留给最关键的登月任务 , 其他任务暂停 , 由此而让登月舱成功降落在月球表面 。
从绕月到登月 , 玛格丽特写的软件有序地控制了飞船 , 把人类首次送上月球 。 用软件程序通过赛博空间(Cyberspace)来远程控制物理设备 , 在1969年就已经实现了 。 以程序化指令不限时空地控制物理设备 , 其实一直是软件的终极使命 。
以今天的视角来看 , 上述代码数量与现在先进设备中的代码数量相比 , 简直是微不足道 。 航太领域本来就是工业皇冠上的明珠 , 是先进软硬件技术的发祥地 。 普通人可能会惊讶和欢呼于载人航天的成功和人类首次登月 , 但是对于这些看不见、摸不着的软件在其中所起的“灵魂”般的控制作用 , 基本上不了解 。
更重要的是 , 玛格丽特走通了一条对当今工业来说极其重要的技术路径:软件可以在赛博空间中 , 不限时空地传输和安装 , 不限时空地运行其中的指令 , 体现人类设定的逻辑和执行过程 , 让遍布各处甚至远在天边的物理设备按照人类意愿工作 。
当传输软件的赛博装置从地面巨大的天线阵列与航天器之间点对点传输 , 变成无处不在的互联网数据传输 , 可以随时上传/下载软件时 , 软件就已经向着“泛在化”大举进军了 。 过去曾经严重阻碍工业发展的一些瓶颈问题 , 因为时空限制被软件和网络打破 , 而从梦想变为了现实 。


推荐阅读