科学史话
武夷山
世上第一台电子计算机ENIAC问世后,美国军方挑选了6位优秀的女性给ENIAC编程,其中一位就是凯瑟琳·麦克纳蒂。
1921年2月12日,麦克纳蒂出生于爱尔兰的一个小村庄。1924年,她跟随全家移民美国,长大后进入宾州费城的栗树山学院,攻读数学专业。1942年她毕业时,当年该专业的毕业生中只有三名女性。
那时,数学专业毕业的女生一般都是做中小学老师。为了扩大未来的就业选择范围,麦克纳蒂在大三时选修了会计、商法、银行学、经济学、统计学等商科课程,扩充了自己的知识面。1942年的一天,她碰巧在《费城问讯报》上看到一则国家公务员招聘启事,招聘拥有数学专业学位的女性。于是,她与主修数学专业的同学弗朗西丝·比拉斯一起被顺利录取,起始年薪为1620美元。与她俩一道被宾夕法尼亚大学摩尔工学院特别项目招募去的还有另外70余名女性,她们作为所谓的“人工计算机”,用手工计算法来完成本该由电子计算机完成的庞大运算任务,例如为美国陆军弹道研究实验室开展炮弹弹道的计算。
后来,麦克纳蒂描述过这段生活:“那时我们拥有的台式计算器是机械式的,由电机驱动,可以进行简单的算术运算。做乘法时,当答案出来后,我们得把答案记下来,再将其输入计算器,进行下一步计算。我们要为每一门火炮准备一个射表,列出约1800个简单弹道的数据。人工计算出每一个弹道,都需要坐在桌旁用计算器和稿纸演算三四十个小时。做计算的年轻女性很快就不够用了”。
迫于严峻的形势, 约翰·莫奇利、约翰·埃科特和宾大摩尔工学院的其他工程师加紧进行首台电子计算机ENIAC的设计研发工作。1946年,ENIAC计算机研发成功,包括麦克纳蒂在内的六位女性被选中,成为世界上第一批计算机程序员。
一开始,由于ENIAC属于保密项目,她们6人不被允许待在机房里工作,只好先在纸上写程序,再送入机房上机测试。与此同时,她们几个也要像过去一样参与复杂数学问题的手工计算,比如将长长的微分方程分解为一些尽可能简单的运算步骤,让当时比较笨拙的计算机去分步完成计算。子程序这个想法,就是麦克纳蒂提出的。
到了1947年,这些程序员都要调往地处马里兰州的阿伯丁兵器试验场。麦克纳蒂和她当年的同窗比拉斯,以及露丝·李希特曼三人去了阿伯丁,另外3人不愿远行,要么辞去工作嫁人,要么在费城改行从事其他工作。
1948年,麦克纳蒂与ENIAC项目的大功臣之一莫奇利结为夫妇。婚后,夫妇俩把家安置在宾州的一个农场里。麦克纳蒂一边生儿育女,一边与丈夫一起参与BINAC和UNIVAC等计算机的研制。莫奇利以硬件设计见长,麦克纳蒂以软件设计见长,二人携手,珠联璧合。
在ENIAC研制成功的消息公之于众时,6位程序员的工作却未有人提及,因此很少有人了解她们做过的重要贡献。但麦克纳蒂的家乡爱尔兰没有忘记她,1986年,爱尔兰的莱特肯尼理工学院设立了以麦克纳蒂名字命名的奖章,每年表彰一位计算机科学专业的学生。2006年4月20日,麦克纳蒂在宾州去世,享年85岁。