巾帼不让须眉:程序媛秘史

我们都知道计算机改变了人类的生活,我们也知道女人顶了半边天。实际上早期的计算机科学(CS)发展中女性前辈所做的杰出贡献不止是一半。在此三八女王节来临之际,本文虫虫给大家介绍了计算机发展史上那些杰出的女性豪杰们。

威尔克斯(Mary Allen Wilkes)计算机软件软件工程师先驱

作为20世纪50年代马里兰州的一名少年,Mary Allen Wilkes原本没有计划成为一名软件工程师先驱。她真正的梦想是做一个诉讼律师。然而,1950年她刚上初中时候,她的地理老师的一席话改变了她的命运,也改变了IT界的历史。她老师告诉她:"玛丽.艾伦,你长大后,你应该是一个计算机程序员!"威尔克斯不知道程序员是什么,她甚至也不知道不电脑是什么,大部分的美国人也都不知道。虽然第一台数字计算机早在十年前就已经在大学实验室产生了(MIT)。

当1959年威尔克斯从韦尔斯利学院毕业时,她知道她的法律梦想是不可能实现了。她的导师们都告诉她,不要去申请法学院。"不要去申请了,申请了也可能进不去,就算了进去了很有可能也毕业不了,就了你毕业了,也找不到工作。"而当时的现实就算了他找到工作了,也不可能去做法庭辩论,更可能是去法律图书馆做管理员,亦或是去做法律秘书,去处理信托和遗产继承的中介。

很快威尔克斯认清了现实,并记起了初中老师当年说的话。在大学里学习中她也常听说"计算机应该是未来"的大口号。他也听说了麻省理工学院可能会有这方面的需求。于是他让父母(关键?)带她去麻省理工学院招聘办公室。"你有计算机程序员的工作吗?"她问到。然后,没有然后了,她被录用了。

大家一定会很好奇,他们为啥要录个小白搞计算呢?但是想想也是,当时哪有专业搞计算机呢?不像现在从楼上扔一块砖下去,可能会砸死一个码农。计算机科学(CS,Computer Science)这门学科还没有开展起来,也没有那个大学会教的。计算是斯坦福大学也是15年后,直到1965年才开设了计算机科学系。反正都是计算机小白,那就用其他条件来评估呗,比如逻辑思考的能力,而威尔克斯这方面恰好是专长:她大学哲学专业,也研究过符号逻辑,而编程也是通过类似的方式工作的。

威尔克斯很快就成为一位编程高手。她首先研究IBM 704,这要求她用深奥的"汇编语言"编写。(典型的命令可能类似于"LXA A,K",告诉计算机将数字记在位置A的内存和将它加载到"寄存器"K。)即使是将代码载入IBM 704主机也是一件很费劲的事。当时没有键盘和屏幕等这些外设。威尔克斯不得不在纸上手写一个程序并将其交给打字员,打字员将代码指令翻译成穿孔卡上的孔。然后把这样的一箱打了孔的代码卡交给"操作员",又操作员负责将一堆这样的卡片送入读卡器。计算机通过读卡器读取代码,并执行程序生成结果,然后在打印机上打印结果。

日常情况是,威尔克斯的代码常常没有生成她预期的结果。所以她需要在脑子中她考虑她的代码,推测她的错误所在,她在脑海中的浮视每一个卡片,想象机器将如何执行,将她的大脑转变为计算机,然后改写程序(用大脑调试的程序员)。当时的计算机容量非常有限,IBM 704主机只能在内存中处理大约4,000个字节的代码。一个优秀的程序员简洁而优雅,从不浪费一句话。他们是比特诗人。

"这就像工作逻辑难题,大而复杂的逻辑谜题,"威尔克斯说。"对于一个错误,我仍然有一个非常挑剔,精确的大脑。我注意到墙上弯曲的照片。"什么样的人拥有这种心态?那时候,它被认为是女性。

他们已经在计算史前发挥了基础作用。在第二次世界大战期间,在英国的布莱切利公园(Bletchley Park)一群女性操作一些用于破解密码的计算机。

根据美国政府统计,截止1960年,超过四分之一的程序员是女性。在威尔克斯工作的麻省理工学院林肯实验室,她回忆说,大多数被归类为"职业程序员"的政府都是女性。但是,程序员当时的地位并不高。

1961年,威尔克斯被分配去做一个新项目,这就是后来著名的LINC项目,世界上第一台交互式个人电脑。它后来成为了可以放在单个办公室或实验室中的突破性设备。它有自己的键盘和屏幕,可以更快速地编程,最重要的是不需要笨拙的打卡或打印输出。尔克斯和制造硬件的设计师一起编写能够让用户实时控制计算机的软件。

巾帼不让须眉:程序媛秘史_第1张图片
巾帼不让须眉:程序媛秘史

在两年半的时间里,她和一个团队在流程图上苦苦思索,思考电路如何运作,如何让人们与之沟通。

"我们一起工作度过了所有这些疯狂的日子,我们吃了各种可怕的食物"她回忆道。

有性别歧视,是的,尤其是在男性和女性如何获得报酬和晋升之间的差异,但威尔克斯享受林肯实验室男女之间存在的相对礼让,这是知识同行之间的感觉。"我们是一群书呆子,"威尔克斯干巴巴地说道。"我们是一群极客。我们穿得像个极客。我完全被我小组中的人员所接受"。当LINC的早期原型可以工作时,为一位生物学家解决了一个复杂的数据处理问题,他非常兴奋,快乐地绕着机器跳起了吉格舞。

1964年末,威尔克斯从环球旅行回来一年后,她被要求完成LINC操作系统的编写工作。但实验室已经搬迁到圣路易斯,她不想搬到那里。相反,LINC被运到她在巴尔的摩的父母家。在楼梯脚附近的大厅里,一个装满电路的冰箱大小的盒子里面挂着一个高高的磁带,这是科幻未来的早期一幕:威尔克斯是这个星球上最早拥有有一台私人电脑的人。她的父亲,一位主教牧师,很激动。"他吹嘘说,"她说。"他会告诉任何会听的人,我打赌你的客厅里肯定没有电脑。不久之后,全世界的LINC用户都在使用她的代码来编写医学分析,甚至还创建了一个医讯聊天机器人,让患者了解自己的症状。

但即使威尔克斯确立自己是一名程序员,她仍然渴望成为一名律师。计算机在智力上是刺激性的,但在社会上是孤立的。1972年,她申请并进入哈佛大学法学院,毕业后,她在接下来的四十年里担任律师。"我非常喜欢它"她说。

今天威尔克斯已经退休,住在马萨诸塞州的剑桥。在81岁的白发,她仍然拥有精确的举止和准备好的灿烂的微笑,可以在60年代的照片中看到,当她在LINC旁边摆姿势,咧嘴笑着。

她偶尔会和年轻学生们一起学习计算机科学。但令人惊讶的是,与威尔克斯时代相比,现代CS行业,女性人数较少,而且许多人对她们的欢迎程度较低。1960年,当她开始在麻省理工学院工作时,女性在计算机和数学专业中的比例为27%。它在1990年达到了35%,这是最高峰。此后数字一直下降,到2013年,女性人数降至26%,低于1960年的比例。

威尔克斯与今天的年轻编码员交谈时,他们常常感到震惊的是,女性是该领域最早,最耸人听闻的创新者之一,曾经是美国企业的常见现象。

威尔克斯说:"他们目瞪口呆,…他们完全不能理解。"

阿达.洛夫莱斯(Ada Lovelace) 第一位程序员

巾帼不让须眉:程序媛秘史_第2张图片
巾帼不让须眉:程序媛秘史

大约200年前,我们现在叫做程序员的第一个人实际上是一个女人:Ada Lovelace,1833年英格兰的一位年轻数学家,她遇到了一位发明家查尔斯.巴贝奇正在努力设计他所谓的分析引擎,它由金属齿轮制成,能够执行if/then命令并将信息存储在内存中。洛夫莱斯立马就意识到这设备的巨大潜力。她想可以修改自己的指令和内存的计算机远绝不会是一个死记硬背的计算器。为了证明这一点,洛夫莱斯编写了历史上第一段被认为是计算机程序的代码,这是一种算法,分析引擎用它来计算伯努利数字序列。她对她的程序直言不讳:"我的大脑不仅仅是凡人",随着时间的推移,"我也写过程序"。

但遗憾的是巴贝奇最终也没有实现他的电脑,36岁时死于癌症的洛夫莱斯也没亲眼看到自己的程序被执行。

当数字计算机最终在20世纪40年代成为现实时,女性再次成为了计算机软件编写的先驱。当时,计算行业的人们认为编写代码是次要的,不那么有趣的工作,真正的大工作是制造硬件。"软件?",研究科学和技术史的麻省理工学院教授詹妮弗·S·莱特说:"这个词还没出娘胎呢!"

巾帼不让须眉:程序媛秘史_第3张图片
巾帼不让须眉:程序媛秘史

Eniac 女性开发调试团队

在上世纪40年代,美国开发第一台可编程数字计算机,即电子数字积分和计算机Eniac。由军方资助的一个巨大的、重达30多吨,由17,468个真空管组成的庞然大物。仅仅让这个怪兽运行起来,就是一件很风光很MAN的事情。相比之下,编程似乎是卑微的,甚至是一个打杂的秘书秘书一般。女性长期以来一直从事计算工作。在Eniac之前的几年里,许多公司都购买了巨大的电子制表机来计算工资单,这些机器的打卡机操作员的工作,通常由女性来担任。当需要聘请技术人员为Eniac编写代码时,组成了由女性们构成的团队:詹宁斯(Jean Jennings),斯奈德(Betty Snyder),Marlyn Wescoff,Frances Bilas和Ruth Lichterman。男人们负责思考让Eniac做什么,而"编程"执行代码的活则由女性来担当。

巾帼不让须眉:程序媛秘史_第4张图片
巾帼不让须眉:程序媛秘史

"我们几乎可以将故障排除在个别真空管之外",詹宁斯告诉IEEE计算机历史年鉴的记者。詹宁斯是密苏里州104人社区附近的低收入家庭的假小子女孩,长大后在大学研修了数学。"我们了解了应用程序和机器,我们学会了怎么调试并问题,干的并不必工程师差。"

Eniac的女性团队是第一批发现软件无法正常工作的程序员,程序员的主要工作就包括找到并修复错误(Debug)。她们的创造了有关软件的一些核心概念。

斯奈德意识到调试一个不能正确运行的程序,如果有一个"断点"就会有很大帮助,可以让程序在执行过程中暂停,然后观察运行的中间结果。在现代代码调试中断点也是程序调试的重要手段。1946年,Eniac的创作者希望将计算机展示给一群科学、技术和军方的领导。他们要求詹宁斯和斯奈德编写一个计算导弹弹道轨迹的程序。经过数周的艰苦努力,她俩和团队们一起制定了一个工作计划,排除一个小故障,它应该在导弹着陆时停止,但由于某种原因它并没有停下来。演示前一天晚上,斯奈德突然直截了当地解决了这个问题。她第二天早早去上班,打开Eniac的一个开关,消除了故障。"在她睡着的时候,贝蒂可以做更多的逻辑推理,而不像大多数人一样在清醒时候做",詹宁斯后回忆道。尽管这样,这些女性的工作也得到任何的好评。在第一次Eniac的官方演示活动中,男性项目经理一点都未提及这个女性团队,更不用说介绍女性成员了。

格蕾丝·赫柏(Grace Hopper) 第一个编译器以及bug

巾帼不让须眉:程序媛秘史_第5张图片
巾帼不让须眉:程序媛秘史

二战结束后,随着编码工作从军队扩展到私人企业,妇女仍然是编码队伍的先锋队,做出一些最引人注目的工作。开创性的程序员Grace Hopper被通认是第一个创建 "编译器"的人,这个程序可以让用户创建更接近常规书面文字的编程语言,编码器可以编写类似英语句子的代码,编译器把他们翻译成由0和1组成的计算机语言。赫柏还为非技术商人开发了"Flowmatic"语言。后来,她建议创建Cobol语言的团队,该语言被各大公司广泛使用。

除了发明编译器之外,计算机上另外一个很著名的概念也与赫伯有关。1947年赫伯工作的一个系统出现了故障,进过排查发现是一个臭虫导致电路短路导致的。这个臭虫被赫伯拍死在工作日记本上,于是这个历史场景合被永久的记录下来了。

巾帼不让须眉:程序媛秘史_第6张图片
巾帼不让须眉:程序媛秘史

艾尔斯·沙特(Elsie Shutt ) 开创了女性SOHO工作模式

Elsie Shutt是在大学暑假期时学习编码的,同时在马里兰州陆军结构设为军队工作。1953年,她毕业时被雷神公司聘请来编写代码,当时程序员的工作人员大约50%的男性和50%的女性。她告诉弗吉尼亚理工大学历史学家,《Recoding Gender》的作者珍妮特.阿巴特,"我真的很惊讶这些人都是程序员,因为我认为这是女性的工作!"

当沙特在1957年生一个孩子时,州法律要求她离开她的工作岗位。50年代和60年代可能一直欢迎全职女性编码员,但公司不愿意提供兼职工作,即使是很优秀的程序员也一样。因此,沙特成立了Computations Inc.,这是一家为企业提供编程咨询的公司。她聘请了全职母亲担任兼职员工,如果他们还不知道如何编程,她就先训练他们。他们在白天照顾孩子,然后晚上编程。"它变成了一种使命感,"Shutt告诉阿巴特,"为无法找到兼职工作的有才华的女性提供工作。"。Business Week称Computations的工作人员为"怀孕程序员,在1963年的一篇文章中用家中走廊的摇篮中的婴儿照片配图说明和妈妈在一起,努力工作编写软件。

到1967年,有了太多的女性程序员,Cosmopolitan杂志发表了一篇关于"计算机女孩"的文章,同时还有关于计算机工作的女照片.

巾帼不让须眉:程序媛秘史_第7张图片
巾帼不让须眉:程序媛秘史

法兰·艾伦(Frances E. Allen)第一位图灵奖女得主

当各大企业开始依赖软件处理工资单和处理数据时,编码工作的数量在50年代和60年代几数爆炸,然而男性在这些方面没有啥特别的优势。正如威尔克斯被雇佣的理由那样,雇主只是寻找合乎逻辑,善于数学和细心的候选人。在这方面,传统的性别观念对女性有利,一些高管认为,女性在针织和编织等艰苦活动中的传统专长恰恰体现了这种心态。(1968年出版的"你的计算机职业"一书指出,喜欢"烹饪菜谱"的人会成为优秀的程序员。)申请该领域的好处是申请人通常要接受考试(通常是一个涉及模式识别的考试),如果他们通过考试并接受过工作培训,这个过程使得该领域特别容易接受新手。"对计算机一无所知?然后,我们将教你(并在付钱给你的同时)",一个英国广告在1965年承诺。在1957年在美国的招聘会上,IBM的名为"My Fair Ladies"的小册子特别鼓励女性申请编码工作。

巾帼不让须眉:程序媛秘史_第8张图片
巾帼不让须眉:程序媛秘史

Frances E. Allen是IBM历史上第一位女院士,第一位女性图灵奖获得者。和威尔克斯一样,艾伦最初的愿望也与CS大相径庭。她想做的是一名老师,她的大学读的是阿尔班尼州立师范学院,后来在密西根大学拿到了数学硕士学位。毕业时工作难找,又要偿还助学贷款,无赖何最后加入了IBM 波士顿研究中心,当时艾伦正是受IBM My Fair Ladies花哨宣传材料的欺骗成了一位骄傲的程序媛。艾伦曾经和赫伯一起在COBOL语言组一起工作,后来成为优化Fortran的专家和编辑器优化大牛,编译器优化的理论和实践方面做出的开创性贡献。在IBM 艾伦还带领一个顶尖的研发团队,开发出很多优秀的系统,发无数的Paper。他的工作奠定了现代编译器优化和自动行化执行的基础。2007年,法兰.艾伦被授予了图灵奖,历史上第一位获得此殊荣的女士诞生女。

玛格丽特.汉密尔顿(Margaret Hamilton)阿波罗导航系统

巾帼不让须眉:程序媛秘史_第9张图片
巾帼不让须眉:程序媛秘史

1969年玛格丽特.汉密尔顿(Margaret Hamilton)率领麻省理工学院的团队编写了阿波罗11号导航系统,该系统辅助宇航员Neil Armstrong和 Buzz Aldrin成功登月。系统功能强大,还覆盖了将飞行器计算机执行指令,比如从优先系统到雷达系统的切换等,更值得称道的的该系统在载人登月的阿波罗登月计划任务中始终未出现任何bug。汉密尔顿作为码农中的巾帼好英雄在2016年被奥巴马总统亲自颁发了自由总统自由勋章。

芭芭拉·利斯科夫(Barbara Liskov)第一位CS女博士,里氏替换、原则区块链理论先驱

芭芭拉.利斯科夫,08年图灵奖得主。她是美国历史上第一个CS女博士,她在杰出成就已经跨越了学界的高墙,改变了人们日常的生活,利斯科夫在编程领域带来了革命性创新里氏替换原则(Liskov Substitution Principle, LSP)。

巾帼不让须眉:程序媛秘史_第10张图片
巾帼不让须眉:程序媛秘史

1999年作为的麻省理工教授利斯科夫发表了关于实用拜占庭容错算法(PBFT: Practical Byzantine Fault Tolerance)论文奠定了区块链的理论基础,并生成了第一个区块链。

巾帼不让须眉:程序媛秘史_第11张图片
巾帼不让须眉:程序媛秘史

拉迪亚·珀尔曼(Radia Perlman)互联网之母,生成树算法

巾帼不让须眉:程序媛秘史_第12张图片
巾帼不让须眉:程序媛秘史

Radia Perlman 是程序界的又一女豪杰,被称为"互联网之母"。她于1985年开发了生成树算法是全球计算机网络数据传输路由的基础。该算法将以太网从原始有限可扩展的单线CSMA/CD转换为可处理大型网络的协议,并使以太网可极大地利用带宽。路由生成树算法对互联网数据传输产生了深远影响,提高了整改互联网的鲁棒性,从此,互联网具具有了自我管理和可扩展的特性。

值得提及的是她还创建了LOGO,这是第一种面向儿童的编程语言。

莉娜·福森(Lena Forsen)《花花公子》的封面女郎,计算机图像界的女神

巾帼不让须眉:程序媛秘史_第13张图片
巾帼不让须眉:程序媛秘史

1972年,21岁的Lena作为"Miss November",成了《花花公子》封面女郎。半年后,南加州大学信号与图像处理研究所的助理教授Alexander Sawchuk想找一副图片来测试图像压缩算法。恰好发现了Lena的封面照,颜色和纹理都很复杂,非常符合测试算法。于是扫描使用了这张照片,从此这张图一下走红图形界,如果做过图像处理的可能会不知道莉娜这名字和历史,但是肯定见过这张图。各种教材中配图也都是这一张。

巾帼不让须眉:程序媛秘史_第14张图片
巾帼不让须眉:程序媛秘史

在1997年5月在波士顿举行的第50届图像科技技术年会上莉娜受邀成了特邀嘉宾和那些天天处理它照片的学者们相聚一堂。

现在,68岁的莉娜已儿孙满堂。年轻时拍摄的这张照片让她生活曾经也受过波澜。曾有人对她说"我知道你脸上的每一个雀斑",但她仍以此为荣,认为这张照片是人生中的一项重要成就。感谢莉娜他的美美的靓照为图形学的发展做出了重大贡献。

你可能感兴趣的:(巾帼不让须眉:程序媛秘史)