盖茨、乔布斯、朱克伯格,科技界多年来给人的印象是由男性主导。但原来,软件或系统工程,以至资讯科技的鼻祖,是一位女性,如果没有她,人类不可能成功登月,而上述的科技界巨臂,也不可能登场!她就是现年81岁的元祖级软件工程师玛格丽特·汉密尔顿(Margaret Hamilton)。
汉密尔顿当年所设计的载人上月球软件,在所有阿波罗载人计划太空任务之中,均没有出现任何的程式错误,功能强大、可靠,经转化后现在广泛用在太空实验室和穿梭机中。
就连「软件工程」这个名称,也是由她首先採用,令它与其他的工程学科看齐。
上世纪六十年代,软件工程尚未独立成科。汉密尔顿说:「在那时,软件对管理层而言仍是一个谜、是个神秘黑色盒子……」开发期,很多时候连管理层也不清楚他们(团队)在干什么。
编写程式现广泛使用
1963年,她受聘于麻省理工学院(MIT),负责替美国太空总署(NASA)开发载人上月球软件,那一年,她只有24岁。「当时没有学校或学系可学习现在的『软件工程』或『系统工程』,当我们找不到答案,便要发明一个出来。我们要设计出首次造出来便能用上的东西……那时根本没有时间当新人,大家都是边做边学。」
汉密尔顿是这个计划的核心小组主管,其团队设计的程式,需在太空人出发前,模擬一切可能发生的情景,程式需要在巨型Honeywell电脑上运作。那是史上首套由人手操控但具备线传操控(fly-bywire)技术的机舱电脑导航系统,成为现今商业客机基本配备电脑导航系统的先驱。
太空人也会出错
1968年圣诞节左右,阿波罗8號歷史性载人沿月球轨道航行,于航行第5天,太空人洛弗尔错误输入指令,清洗了所有航行数据,没有那些数据,太空船不能將太空人送回家,最终汉密尔顿和MIT工程师们用了9小时抢救,修正失误。是次事件说明太空人不是十全十美的,令她成功说服高层,让她的团队开发错误检查及復修软件。
1969年7月16日,太空船阿波罗11號载著太空人发射登陆月球。太空船的电脑竟在登月前数分钟的关键时刻发生故障,弹出大量错误讯息。
幸好,汉密尔顿设计的系统即时向太空人发出警告,提示电脑出错,並同时將任务重新排序,让当局决定继续执行任务,创下人类歷史性新一页。
谁还敢说「女孩不懂编码」?
阿波罗11號任务完成之后,汉密尔顿转战商界,创立了软件公司,继续发展防止错误和容错(fault tolerance)科技,並获空军和其他政府部门採用,同时又协助创立开放式架构系统、人机介面、端对端测试、软件稳定性测试等现今业界標准编码规范。
汉密尔顿其后的事业、名声也许不如阿波罗11號响亮,但她在业界祖师奶奶的地位却是无可取代。
迟了47年的嘉许
人类于1969年成功登月,阿波罗11號太空船上的3位太空人——阿姆斯特朗、奥尔德林、科林同年获时任美国总统尼克松颁发象徵美国平民最高荣誉的总统自由勋章。身为幕后功臣的汉密尔顿以及MIT的工程师,却没有任何嘉许。
2003年,NASA后知后觉,向汉密尔顿颁发特別大奖,以表扬她在阿波罗软件开发的创意。2016年美国总统奥巴马,亦向已届80高龄的她颁发总统自由勋章,讚扬她代表著「將人类送上太空的一代无名女英雄」。有报导指,这项荣誉,她早在47年前已该获得,好教那些高叫「女孩不懂编码」(Girls can’t code)的工程师闭嘴。
男性圈子突围 承受沉重压力
汉密尔顿从厄勒姆学院数学系毕业不久后,1959年为麻省理工学院(MIT)一位教授工作,接下人生中首份有关软件的工作。
她的计划是待丈夫在哈佛大学毕业后,便轮到她返回校园进修抽像数学,朝著当数学系教授的目標迈进。后来,MIT一个又一个计划找上她,且愈来愈具挑战性,让她在MIT多个学系和实验室中游走。
「我靠自学,学习了几种软件语言,在洛伦茨教授教导下,学懂如何建立软件。」
首先是气象分析系统,然后是在林肯实验室,为早期的美军防空系统SAGE编写软件。后来,隨著MIT获得美国太空总署(NASA)合约,肩负开发载人上月球软件的任务,她加入了团队。
参与阿波罗载人登月计划的人数多达40万,主宰计划成败的不是太空人或NASA管理层,而是最初由电脑程式员一路晋陞至MIT仪器实验室软件工程部主管的汉密尔顿。
汉密尔顿大学以至职业生涯,无论在数学系就读,还是当上程式员,都是生活在男性主导的圈子,在男女尚未平等、女性不获担当「重要职位」的年代,当上全美以至全球最吃重的高科技计划核心小组主管,压力极为巨大。
有一晚,深夜派对后她匆匆赶回实验室,纠正一个忽然发觉是错误的编码,「我时常幻想,(失误)会在报章头条出现,然后他们会將矛头指向我。」
美为跑贏苏联 开展阿波罗登月计划
1957年10月4日,苏联成功发射歷来首枚环绕地球轨道飞行的人造卫星史普尼克1號(Spunik I),时值二战后冷战时期,美国为首的西方国家为之震动,开展美苏太空竞赛年代。
1960年4月12日,苏联的加加林驾驶太空船环绕地球轨道一周,成为太空航行第一人。一路陷于落后状態的美国,苦思突破良策。1961年5月25日,上任不久的美国第35届总统肯尼迪宣佈了阿波罗载人登月计划。
在1961至1972年的11年中,大批的科学家和工程技术人员参加了这一登月计划。从1969年7月到1972年12月,美国將12名太空人分批陆续送上月球,人类第一次实现了与月球的亲密接触。