在大多数人的印象中,计算机程序员大都是男性。事实也差不多如此,许多大型科技公司里,从事软件编程和技术工作的女性员工都比较少。谷歌可能有比较高的比率,但也仅仅只有 17% 的技术人员是女性。
然而,可能绝大多数人都想不到,几十年前,正是女性首创了计算机编程!小编问了一些计算机专业的同学,大部分人都没想到第一个开始计算机编程的人居然是女性!
艾达·洛夫蕾丝(Ada Lovelace),也被称为洛夫蕾丝伯爵夫人,生于1815年,是拜伦勋爵的孩子,她的母亲拜伦夫人不想让她变成像她父亲一样的浪漫主义诗人,所以拜伦夫人几乎只教洛夫蕾丝数学,好像拜伦夫人觉得诗歌是毒药,而数学是解药一样。
好在,洛夫蕾丝很喜欢数学。17岁时,她去了伦敦的一家沙龙,见到了查尔斯·巴贝奇(Charles Babbage)。巴贝奇介绍了他想设计一台能够进行复杂数学计算的机器的计划,他请洛夫蕾丝把他的计划和工作写成文章,发表在学术期刊中。
洛夫蕾丝答应了巴贝奇,并且在她的文章提到巴贝奇的计算机器应该不止只能用于计算,她设想计算机可以做任何符合逻辑的事情,例如处理文字、图片和音乐,远不止是处理数字。洛夫蕾丝知道如何获取指令集并将其加载到机器中,她甚至做了一个示例,即编程伯努利数——一个极其复杂的数字序列。
巴贝奇的计算机器虽然没有制造过,但是他的设计和洛夫蕾丝的笔记却对一个世纪后设计第一台计算机的人们启发很大。然而有些遗憾的是,那些为世界上最早的电子计算机之一编程的人,却对洛夫蕾丝和巴贝奇一无所知。
简·詹宁斯·巴蒂克(Jean Jennings Bartik,美国计算机历史博物馆口述历史项目成员之一)回忆说,“1945年时,我还在手工计算火箭和大炮的轨迹参数。有一天,我听说有科研小组正在寻找一种叫做 ENIAC 的新机器的操作员。当然,我不知道这是什么,但我知道这肯定不是手工计算。”
巴蒂克是为世界上第一台全电子通用计算机开发程序的六位女数学家之一。那时,男人们主要对建造、硬件、电路感兴趣,而女性则是很好的数学家。在20世纪30年代,女数学专业的学生相当普遍,不过她们毕业后大多去教书。但在第二次世界大战期间,这些数女数学家也用她们的数学能力帮助国家赢得战争。
2008年,巴蒂克在计算机历史博物馆对现场观众说,这份工作并没有一帆风顺,ENIAC 计算机在第一次演示的前一天没能正常运行,巴蒂克的团队一直工作到深夜,才让它正常运转起来。
“后来,他们出去吃饭庆祝,但是却没邀请我们。”巴蒂克回忆说。当时,媒体报道 ENIAC 的成功运行时,的确没有在照片中列出巴蒂克等女性的名字。战后,巴蒂克和她的团队继续在 univac 上工作,univac 是第一批主要的商用电脑之一。
巴蒂克团队与格蕾丝·霍珀(Grace Hopper,终身数学教授,在战争期间加入了海军预备役)联手研究计算机编程,终于有所突破,她们发现了一种用文字而不是数字来编程的方法——最著名的是一种叫做COBOL的程序语言。它几乎可以让人仅仅用普通的英语给它提供指令,而且它可以为任何硬件编译程序。
霍珀作为海军少将从海军预备役退役后,成为了公众人物,甚至在1986年的大卫莱特曼秀上亮相。莱特曼问她:“你被称为软件女王,对吗?”“或多或少。”79岁的霍珀说。
但就在此时,主修计算机科学的女性人数开始下降,从接近40%下降到现在的17%左右。关于为什么会这样,有很多理论,弗吉尼亚理工大学的教授 Janet Abbate 研究了这个话题,他说,“在家里摆弄计算机硬件的男生,比喜欢数学的女生更适合计算机科学”。
在这个时候,史蒂夫·乔布斯和比尔·盖茨开始出现在媒体上,个人电脑开始流行。几十年来,计算机革命的女性先驱们常常被忽视,这其实是一件比较令人遗憾的事。
数学家洛夫蕾丝36岁去世,在 ENIAC 工作的妇女都去世了,格蕾丝·霍珀也去世了。但是每次你在电脑上写东西,播放音乐或者使用手机的计算器时,都应该知道,如果没有那些女性先驱们的辛苦工作,可能这些都不会存在。