映月读书网 > 创新者:一群技术狂人和鬼才程序员如何改变世界 > ENIAC的女程序员 >

ENIAC的女程序员

所有负责建造ENIAC硬件的工程师都是男性。然而有这么一群女性,准确来说是六位女性,她们在现代计算机技术的发展历程中也起到了同样重要的作用,不过历史对她们的重视却不如那些男性工程师。当ENIAC于1945年在宾夕法尼亚大学进行建造的时候,设计者认为它会用于进行不断重复的特定计算,例如利用不同的变量来确定导弹的轨道。但是战争的结束意味着这台机器将要用于其他类型的计算(声波、天气模式和新型原子弹的爆炸威力等),ENIAC需要经常进行重新编程才能完成这些任务。

重新编程ENIAC的工作需要手动切换凌乱不堪的线缆和重置各种开关。编程最初被认为是一项例行公事,甚至是低等的工作,也许这就是为什么这种编程工作会交给女性负责的原因,因为当时的思想并不鼓励女性成为工程师。然而这群为ENIAC编程的女性很快就证明了计算机的编程工作可以达到和硬件设计同等重要的地位,这是男性工程师们在后来才逐渐认识到的一个事实。

琼·詹宁斯的故事很好地说明了早期女性计算机程序员的情况。22 她出生于密苏里州Alanthus Grove(只有104位居民)郊外的一个农场。她的家庭虽然一贫如洗,但是非常重视孩子的教育。她的父亲在一所只有一间教室的学校教书,这所学校有一支棒球队,詹宁斯不仅是这支球队里面唯一的女孩,而且还是一位明星投手。她的母亲在八年级的时候就辍学了,不过她会在学校中帮忙辅导学生的代数和几何功课。詹宁斯在家里七个孩子中排行老六,他们最后都上了大学。当时美国各州的政府都开始重视教育,并且认识到了降低教育收费为经济和社会带来的价值。詹宁斯入读的大学是位于马里维尔的西北密苏里州立教育学院,学费是每年76美元(它在2013年面向本州学生的学费约为每年14 000美元,在考虑通货膨胀之后仍然比当年高出12倍)。她刚开始选择的专业是新闻学,但她不喜欢自己的导师,所以她后来转到了自己感兴趣的数学专业。

詹宁斯在1945年1月大学毕业,这时她的微积分老师给她看了一份招募女性数学家前往宾夕法尼亚大学工作的传单。这些被招募的女性将会成为“计算员”(进行程序化计算工作的人员),主要负责为美国陆军计算火炮的弹道表。其中一则招聘启事是这样写的:

招聘:拥有数学学位的女性……从前优先录用男性的科学和工程学相关岗位已经面向女性提供。现在是你考虑加入科学和工程学事业的大好机会……你在各处都可以看到“招聘女性”的口号。23

从来没有离开过密苏里州的詹宁斯申请了这份工作。在接到求职申请通过的电报之后,她在当天半夜就乘上了东行的沃巴什列车,一路颠簸40个小时来到宾夕法尼亚大学。“当然,他们对我这么快到达都感到非常惊讶。”她回忆道。24

20岁的詹宁斯在1945年3月来到宾夕法尼亚大学工作,当时这里已经有大约70位女性工作人员,她们的工作是操作桌面加法机,并将计算得出的结果填写在大幅的纸张上。赫尔曼·戈德斯坦上尉的妻子阿黛尔负责她们的招聘和培训工作。“我永远不会忘记自己第一次看到阿黛尔的情景,”詹宁斯说道,“她从容地走进教室,嘴角还叼着一支烟。在走到一张桌子后面之后,她一脚踩在桌子上,然后用她稍微纠正过的布鲁克林口音开始讲课。”詹宁斯从小就是一个活跃好动的假小子,所以她对自己遭遇过的无数性别歧视现象都心怀不忿,遇到阿黛尔对她来说是一次观念改变的经历。“我知道自己已经离马里维尔很远了,那里的女人只能偷偷躲到温室里面抽烟。”25

在她来到宾夕法尼亚大学的几个月之后,有一份通知在这群女性计算员之间传阅,通知的内容是一台被紧锁在摩尔工程学院首层的神秘机器需要招募六位工作人员。“我对这份工作和ENIAC本身都一无所知,”詹宁斯回忆道,“我只知道自己将会进入一个全新领域的起点,而且我相信自己的学习和工作能力可以跟其他人一样好。”另外,她也希望做一些比计算弹道表更有意思的事情。

在面试的时候,戈德斯坦问她对电学的了解有多少。“我说自己上过物理学的课程,知道E = IR的公式。”她回忆道,这个公式指的是欧姆定律,它定义了电路中的电流、电压和电阻之间的关系。“不对,”戈德斯坦回应道,“我不在乎这个,我想问的是你会不会害怕它?”26 他解释这份工作需要接通各种电线和操作大量的开关。她说她不害怕。在她面试的过程中,阿黛尔·戈德斯坦走了进来,然后看着她点了点头。詹宁斯最终入选获得了这份工作。

除了琼·詹宁斯(后从夫姓巴尔提克——Bartik)之外,其他通过面试的人选还包括马琳·韦斯科夫(Marlyn Wescoff,后从夫姓梅尔策——Meltzer)、露丝·里克特曼(Ruth Lichterman,后从夫姓泰特鲍姆——Teitelbaum)、贝蒂·斯奈德(Betty Snyder,后从夫姓霍伯顿——Holberton)、弗朗西斯·比拉斯(Frances Bilas,后从夫姓斯宾塞——Spence)和凯·麦克纳尔蒂(后来嫁给了约翰·莫奇利)。她们是在战争的号召下聚集在一起的典型组合:韦斯科夫和里克特曼都是犹太教教徒;斯奈德是贵格会教徒;麦克纳尔蒂是爱尔兰裔的天主教教徒;而詹宁斯是基督新教的教友。“我们在一起的时间都过得非常开心,主要是因为我们之前都没有跟信仰其他宗教的朋友亲密接触过,”詹宁斯说道,“我们曾经就关于宗教真理和信仰的问题进行过一些大的争论。尽管我们之间存在不一样的地方,或者说正因为有了这些不同,我们都非常喜欢彼此。”27

1945年夏,她们6人被送到了阿伯丁试验场学习如何使用IBM打孔卡片和操作接线板。“我们深入地讨论了宗教、家庭、政治和工作的话题,”麦克纳尔蒂回忆道,“我们之间从来不缺可聊的东西。”28 詹宁斯通常都是打开话匣子的人:“我们一起工作、生活、吃饭,还会通宵畅谈各种各样的话题。”29 由于她们当时都没有男友,加上她们身边也有很多单身的士兵,因此许多令人难忘的爱情故事就在鸡尾酒的作用下发生在军官酒吧的隔间里。韦斯科夫找到了一位“高大英俊”的海军陆战队军官。詹宁斯的对象是一位叫作皮特的陆军中士,“他非常有吸引力,但是长得不算特别帅气”。他来自密西西比州。詹宁斯是一个强烈反对种族隔离的人,而且她会对这种看法直言不讳:“皮特有一次告诉我,他一定不会带我到比洛克西去,因为那里的人听到我对种族歧视的观点之后会把我杀掉的。”30

在经过了6个星期的训练之后,这6位女程序员告别了她们短暂相处的男友,带着一段美好的回忆启程离开。在回到宾夕法尼亚大学之后,她们拿到了一些海报大小的图表,它们都是关于ENIAC的资料。“有人给了我们一大堆设计蓝图,里面有全部控制板的布线图。他们说:‘你们先看看这台机器的工作原理,然后想出怎么给它编程。’”麦克纳尔蒂如是说。31 这项工作需要分析微分方程,然后确定如何将电线连接到正确的电路。“利用图表学习ENIAC工作原理的最大好处是,我们开始理解它能做和不能做的事情,”詹宁斯说道,“因此我们就有能力判断机器出现故障的位置,几乎可以精确到具体某一个真空管的问题。”她和斯奈德设计了一个检测系统,它可以在18 000个真空管当中找出烧坏的一个。“因为我们对这台机器和它的应用都了如指掌,所以我们检测故障的能力可以达到工程师的水平,甚至超过他们。我敢说那些工程师也喜欢这样,因为他们可以将调试排错的工作交给我们。”32

斯奈德提到,她们会小心翼翼地为新的线路和开关配置制作图表。“我们当时所做的只是一个程序的开头。”她说道,不过她们当时还没有开始使用“程序”一词。为了保险起见,她们会将每条新的序列写在纸上。“我们都觉得如果把控制板弄坏的话,我们肯定要被扒掉一层皮。”詹宁斯说道。33

有一天,詹宁斯和斯奈德坐在由教室改造而成的二楼工作间里面,对着铺在桌面上的图表研究ENIAC的各个部件。这时有一位男士进来检查建筑的结构情况。“你们好,我叫约翰·莫奇利,”他说道,“我只是来看看这里的天花板有没有出现下陷。”尽管她们两个在之前都没有见过这位ENIAC设计师,但是她们当时一点都没有感到胆怯。“我们正好有问题要请教您,”詹宁斯镇定地说道,“我们想知道这个复杂的累加器是怎么运作的?”莫奇利悉心地回答了她们提出的一些问题。他在解答完她们的问题之后说道:“我的办公室就在隔壁。所以只要我在办公室的时候,你们都可以过来请教问题。”

她们几乎在每个下午都会这样做。根据詹宁斯的评价,“他是一位非常优秀的老师”。莫奇利会鼓励这些女程序员设想除了计算火炮弹道以外,ENIAC以后还可以用来执行什么任务。他知道如果要将ENIAC变成一台真正通用型的计算机,他将需要启发程序员耐心地完成除了操作硬件以外的工作。“他经常会尝试鼓励我们思考不同的问题,”詹宁斯说道,“他总是希望我们可以做一些像求逆矩阵这样的运算。”34

正当霍珀在哈佛大学研究子程序的应用时,ENIAC的女程序员也在做同样的事情。她们当时在为逻辑电路无法计算某些弹道而感到烦恼。后来麦克纳尔蒂为此想出了一个解决方法。“啊!我想到了!”她兴奋地说道,“我们可以使用一个主编程器来重复代码。”在经过尝试之后,她们发现这种做法是可行的。“我们开始思考如何做出子程序和嵌套子程序这些东西,”詹宁斯回忆道,“这种方法对于这个弹道问题来说是非常实用的,因为这样做不需要重复完整的程序,只需要通过主编程器重复程序的某些部分。在学会了这种方法之后,你就会知道如何按照模块来设计程序。程序模块化和子程序开发对于编程学习来说是非常重要的。”35

时至2011年,琼·詹宁斯·巴尔提克在去世前不久还自豪地回顾了她们的成就——创造出第一台通用型计算机的程序员都是女性:“尽管我们那个时代的女性通常只有非常有限的就业机会,但我们还是帮助开创了计算机的时代。”她们之所以能够做到这点是因为当时有许多女性都具备数学知识,而且计算机的发展需要她们的技能。不过这其实也是一个挺有讽刺意味的事实:负责硬件工程的大男孩们认为组装硬件是最为重要的任务,所以这应该是男人的工作。“当年美国的科学和工程学领域的性别歧视比现在还要严重,”詹宁斯说道,“如果ENIAC项目的领导们事先知道编程工作的重要性以及它可以达到的复杂性,他们可能不会如此放心地将这项重要工作交给女性完成。”36