就是她,写出了让阿波罗成功登陆月球的代码!
原文出处: 科技报桔
去年底 JD (@nevesytrof )在Twitter上分享了这张照片,获得广大回响,让这张照片一度在网路上疯传。
这是张1969年拍摄的照片,当中的人像是数学与计算机科学先锋— Margaret Hamilton,旁边一大叠则是阿波罗11号所必要的软体清单。阿姆斯壮他们能在月球上踏出人类的一大步,全都要感谢她所作出的贡献。
作者 Three-Fingered Fox 在《Medium》上解释道,自从曼哈顿计划发展出第一个原子弹以来,就鲜少有软体程序计划是由女性来主持。文中提到,这些「少数」的女性常是被动回应技术部门的要求,但其实编码途径的设计以及计算都是由她们一手包办,如同Hamilton与其所致力的阿波罗任务。
如同我们在《Wired》的文章中可以读到的,月球登陆的任务是电脑软体首次担任如此关键,并需要即时调整的角色。
而这个软体开发的重任在当时交到了Margaret Hamilton 的手上,一个自学程式设计,并且当上MIT 软体工程测试实验室主任(也就是为美国太空总署NASA 开发电脑系统的单位)的女性。
确实,在 Three-Fingered Fox 的文章中有所解释道:许多早期具开创性的程式设计师都是女性,她们学着实际动手做,并且写下了以前从未见过的历史新页。
最好的例子就是创造了第一个编译器以及发明「Debug」这个用法的 Grace Hopper。
- 专访 Margaret Hamilton
1986 年,Hamilton 创立「Hamilton 科技公司」。
我们试着与她联系,当电话终于接通时,她似乎相当惊讶一个西班牙报纸会因为一张她35 岁的照片在Twitter 上爆红而打来。
「Twitter?」对啊,一个社群网站,像Facebook。
「哦!我们这个世代不用那些社群媒体」 虽然听起来让人惊奇,但Hamilton 很乐意接受访问,并希望我们用e-mail 传送问题过去。
Q:我想你对于这张照片「网路爆红」应该相当诧异吧?你喜欢这个感觉吗?
A:只要人们是说好话那就好啊!
Q:你说不使用社群网路,你觉得人们用这样的方式来对你所做的贡献表示兴趣,有怎么样的看法?
A:有人注意到你所付出的当然是件好事啰!
Q:这张照片是在阿波罗计划期间拍摄的吗?是何时呢?是谁为你拍下的?
A:(以下是引用自MIT Draper 实验室对这张照片的描述)
「1969 年(阿波罗11 号期间),由Draper 实验室摄影师所拍摄。Margaret 站在一叠由她所主导之LM 及CM 太空船舱内软体清单旁」
Q:当时与现在的编码技巧一定相当不同了?
A:对,也不太对。事实上,在这个领域有一些东西变得更进步了,但有一些则反而退步了,还有一些是在原地踏步。
Q:在人类第一次登陆月球计划中工作是什么样的感觉啊?
A:我在阿波罗所有真人驾驶的计划中,以及几个无人火箭计划中待过。当然阿波罗11 号是最令人兴奋,也是整个阿波罗计划最值得纪念的时刻。
Q:阿波罗11 号如果少了你所开发的软体就无法登陆月球,想知道这个软体主要的作用?
A:你指的是阿波罗11 号登陆时的1201/1202 号警报吗?以下是我对于这个问题及解决方式的解说。同时也是《Datamation》杂志在1971 年3/1 所刊出的内容:
「因为核对手册上的一个错误,集合雷达的开关被放置在错误的位置。因此造成了它传送了错误的讯号给电脑,结果使得电脑被要求必须在接收到许多额外的错误资讯的状况下,仍然执行所有登陆的正常功能,而这些错误资讯的解读就花了15%的时间。
当时的电脑(或者是说里头的软体)幸好是写成能够分辨当它被要求执行额外程序的状况。所以电脑送出了警报,对于太空人就像是在说:『我因为受到其他执行程序的要求而超载过了我应该执行的程序量,因此我现在必须首先执行较优先的程式,比如说:有关登陆的程序。』
事实上,这台电脑当初的设计可不只是分辨发生错误的情况。一个完整系列的复原程式也在这个软体当中。在这个情况下,软体所做出的行动是删除较低优先次序的程式,并且重新建立重要的执行程序,如果当初电脑没有辨识出这个问题而进行复原的程序,我想这场登陆月球行动不会如此成功。」
Q:你是在这段期间发明了「软体工程」一词吗?
A:软体在这个计划的初期还被当作初初学步的孩子一般对待,完全不像其他工程学科;例如像硬体工程那样的受到重视,而且在大家的眼光中他就像是艺术、魔术一般,而不是一门科学。
我一直以来坚信这项发明流着艺术与科学的血液,虽然当时很少人是这么想。因此,我致力于为软体以及那些发明者争取应有的正统性与尊重,所以我开始使用「软体工程」这样的字眼来将之与硬体还有其他工程学类做出区别。
当我第一次使用这样的语词时,大家都觉得有些好笑,甚至有很长一段时间被当作笑话。他们常笑我极端的想法。但最终,软体学科确实得到了应有的尊重!
Q:你认为你为了这个计划所作出的贡献已经受到世人足够的赞扬了吗?
A:时间会证明一切的。希望我们从这个计划中所学到的解决方案能够适用在更大规模的计划上。
Q:你觉得六零年代时对于一个女性成为一个工程师及科学家会相当困难吗?现今的状况有改善吗?
A:我想还是要看这位女性是怎么样的一个人、她为谁工作、以及身处的特定组织文化是如何。大体上来讲,过去有些事是较困难,但现今也有较困难的事。
就是后来说,有些事是过去能够接受的,因为我们对之并不甚了解,但这可能到了现在反而是令人无法接受的。当我们回顾时也常常感到惊讶。但如今我们其实还是在做许多无知的行为,比方说付给女性较男性少的薪资。
Q:相较于其他工程领域,那时有更多女性投入电脑科学的部门吗?你的同事当时是如何和你相处?与现今有何不同?
A:当时投入电脑科学的女性,通常都会被限制在较低的职位。
阿波罗计划这个案例中,我与同事如同朋友一般并肩面对困难的问题。我们主要还是专注在工作上而不管性别上的区分。对于一个人的称呼常会像是:「二楼那个」、「硬体部门那个家伙」、「资料分析那个人」、「操作系统高手」等等。
Q:你曾在其他NASA 的计划下工作?
A:所有的真人操控阿波罗计划与几个无人驾驶计划、太空实验室的内部软体、以及太空梭的初始系统软体等等。
Q:你最喜欢工作的哪一部分?
A:不间断的挑战以及那些充满创意的同事。
Q:你在1986 年创立了自己的公司。为何会跨出这步呢?
A:为了加速科技的演进并且试着让更多人能注意到。
Q:目前正在进行的计划?
A:持续演进USL(Universal Systems Language)及其自动化周期,建立一个更自动化的配置结构。