她是世界第一台个人计算机的创造者,84 岁生日快乐!

新闻
恰逢Mary Allen Wilkes 84 岁生日,五十年前她创造了世界上第一台个人计算机LINC,而后毅然转身从事律师工作长达40 年,认为做律师才是为自己而活。她感慨,如今能在计算机领域取得重大成就的女性越来越少。

 [[427728]]

2021年 9 月 25 日是 Mary Allen Wilkes 的84 生日,她以LINC 项目闻名,被认为是世界上第一台个人计算机的发明者。

Mary Allen Wilkes是LINC开发团队的成员,实验室仪器计算机(Laboratory Instrucment Computer, LINC)于20世纪60年代初在麻省理工学院诞生,从使用大型、离线、远程、集中控制的计算机进行计算,转变为小型、交互式、由个人用户直接控制的计算机,也是今天个人计算机的雏形。

不过她并非天生注定是一个程序员,从十多岁起,她的梦想就是做一个诉讼律师。

20世纪50年代的马里兰州,Wilkes 的中学老师跟她说她应该去做一个程序员,但当时大部分美国人都没听说过计算机是什么东西,更没见过,所以这一席话让她有些不明就里。十几年前,首批巨型计算机刚刚开始在大学和政府的实验室里运转。

1959年,当Wilkes 从韦尔斯利学院毕业后,导师们都劝她不要申请法学院,理由是,申请了也未必能考上,考上还不一定能毕业,毕业了也不一定能找到工作。

在当时,即使Wilkes 能找到工作,也不是去法庭上,更有可能是去到法律图书馆做图书管理员,或者做法律秘书。

正犹豫时,她听到「计算机就是通向未来的钥匙」,于是他就去了MIT 应聘程序员,面试过程只有一句话,“你们需要程序员吗”,就被录用了。

尽管在今天看起来,没有任何经验的人是完全无法胜任程序员的工作的,但在当时,不光是Wilkes, 几乎没有任何人具备编程经验,计算机学科甚至都还不存在。就算是斯坦福大学,也是直到1965年才开设计算机科学系。

那些需要程序员的机构,只不过用几道测试题来评估申请人,主要是考查逻辑思维能力。她在大学主修哲学专业,研究过符号逻辑,能够通过类似于编码的方式,把and/or语句串在一起。

很快,Wilkes就成了编程高手。

她刚开始在 IBM 704 上工作,主要用深奥的「汇编语言」进行编写。即使将程序放入 IBM 704 也是 一件费力的事,它没有键盘或屏幕,Wilkes 必须在纸上写一个程序,然后交给打字员,打字员将每个命令翻译成打孔卡上的孔。她会携带一盒盒指令给操作员(operator),然后操作员将一叠这样的卡片送入读卡器。计算机执行程序并产生结果,然后在打印机上打印出来。

当Wilkes 的代码没有产生预期的结果, 她检查bug的方式就只能靠想象,在脑海中推演一遍代码,想象机器将如何执行它。然后根据反馈结果改写程序。当时大多数计算机的容量非常有限; IBM 704只能在其内存中处理大约4,000个单词的代码。

一个优秀的程序员写的程序简洁而优雅,从不浪费一句话。

而女性天生就是敏感、挑剔而精确,毋庸置疑,在计算机科学史前,女性扮演着奠基人的角色,到1960年,美国超过四分之一的程序员是女性。在麻省理工学院林肯实验室,政府归类为「职业程序员」的大多数人都是女性。

1961年,威尔克斯被分配到一个著名的新项目,LINC。作为世界上第一台交互式个人电脑,LINC 在办公室或实验室中安装,它甚至有自己的键盘和屏幕,因此可以更快地进行编程,而无需使用笨拙的打孔卡或打印件。设计师们知道他们可以制作硬件,但是他们需要Wilkes 帮助编写软件,让用户实时控制计算机。

在之后的两年半里,Wilkes 和团队在流程图上埋头苦干,思考电路是如何工作的,如何让人们与之交流。

当他们做出一个直线加速器工作原型,为一名生物学家解决了一个棘手的数据问题时,Wilkes 兴奋得像个小孩,绕着机器转圈。

1964年末,Wilkes 环球旅行回来,她被要求完成LINC 操作系统的编写工作。但实验室已搬迁到圣路易斯,她不想搬到那里。所以,LINC被运到她在巴尔的摩的父母家中。在楼梯脚附近的前厅大厅里,一个装满电路的冰箱大小的盒子里面挂着一盒高高的磁带,这就像早期科幻电影的场景。

不久,世界各地的LINC用户就用上了Wilkes 的代码,医生用它进行医学分析,甚至创建了一个聊天机器人,让患者了解他们的症状。

即使Wilkes 已经认同自己是一名程序员的身份,并取得了巨大成就,但她仍然渴望成为律师,甚至认为做律师才算是「为自己而活」。

计算机在智力活动上是更令人心动的,但在社会活动上却是孤立的。1972年,她申请并进入哈佛大学法学院,毕业后,Wilkes 做了四十年的律师,心满意足。

Wilkes 是一位优秀的女程序员,如今她已退休住在马萨诸塞州,还会经常和年轻的学生们一起学习计算机科学,让她感慨的是,与Wilkes 那个年代相比,在计算机领域取得重大成就的女性人数和认可度都大不如前。

1960年,她开始进入麻省理工学院工作,女性在计算机和数学专业中的比例是27%。1990年达到35%,达到历史最高峰。在这此后,占比不断下降下降,到2013年,女性比例降至26%。

但你可能不知道的是,过去计算机科学的快速发展,女性是主导力量。

大约200年前,世界上第一个能够称之为程序员的人就是女人,Lady Ada Lovelace。作为1833年英格兰的一位年轻数学家,她遇到了发明家Charles Babbage,他正在努力设计他所谓的分析引擎。引擎将由金属齿轮制成,能够执行if / then命令并将信息存储在内存中。

但遗憾的是,Babbage一直也没有实现他的引擎梦。所以,直到Lovelace 36岁死于癌症时,也没能让她的代码跑起来。

在上世纪40年代,由军方资助,美国开发出第一台可编程数字计算机,电子数字积分和计算机Eniac。那是一个巨大的、重达30多吨,由17,468个真空管组成的庞然大物。如果谁能让这台怪兽运行起来,必然是十分风光霸气了。而相比之下,编程似乎是可有可无的,程序员更像是这个怪兽的秘书。

在Eniac刚推出的几年里,许多企业都从IBM等公司那里购买了巨大的电子制表机,这对于计算工资非常有用。这些机器的打卡机操作员的工作,通常由女性来担任。当需要聘请技术人员为Eniac编写代码时,组成了由女性们构成的团队:Jean Jennings,Betty Snyder,Marlyn Wescoff,Frances Bilas和Ruth Lichterman。

男人们负责思考让Eniac做什么,而编程、执行代码的活则由女人来担当。

Eniac的女性团队是第一批发现软件无法正常工作的程序员,程序员的主要工作就包括找到并修复错误(Debug)。她们创造了有关软件的核心概念。Snyder意识到调试一个不能正确运行的程序,如果有一个断点breakpoint就会有很大帮助,可以让程序在执行过程中暂停,然后观察运行的中间结果。

直到现代,断点也是程序调试的重要手段。

Grace Hopper 被公认为是第一个创建编译器的程序员,它能让用户创建更接近常规书面文字的编程语言,可以编写类似英语句子的代码,然后翻译成由0和1组成的计算机语言。

可是,女性是什么开始被迫退出计算机科学的舞台呢?

当史蒂夫·乔布斯和比尔·盖茨开始开始出现在公众视线中,计算机领域男性主导的时代逼近。

在这十年之前的研究显示,对编程职业感兴趣的男女人数几乎一半一半。而女性选择计算机科学课程的人数在70年代末稳步上升,十年时间里几乎翻了一倍多。到1983学年,所有计算机和信息科学专业的毕业生中有37.1%是女性。

但情况在1984年发生了逆转。从这一年开始女性计算机专业毕业生比例下降了;到2010年左右,几乎腰砍。计算机和信息科学专业的毕业生中,只有17.6%是女性。

这种急速下降的原因之一,是孩子们学会编程的方式和时间发生了变化。70年代末至80年代初,个人电脑的出现,重塑了计算机科学学位的学生群体。在那之前,几乎每一个上大学的学生都从未接触过电脑,甚至在教室里也没有接触过电脑。计算机是稀有而昂贵的设备,大部分只能在研究实验室或公司环境中使用。换言之,几乎所有的学生都处于平等的基础上,而且对编程还很陌生。

但是在这之后,第一代个人计算机Commodore 64和TRS-80开始进入到个人家庭,青少年当中很快流行开来,他们慢慢接触到编程的相关知识。到了80年代中期,一些大学新生在他们开始第一堂电脑课时早已对计算机了如指掌了,他们对于二进制科学将可能带来的改变已经做好充分的心理准备。正如两位学者在调查女性入学率如此低的原因时发现的那样,事实证明,这些学生大多是男性。

当计算机科学发展至90年代中期,编程文化大量普及。大多数新生都是男性,女性的数量从未恢复到70年代末和80年代初的水平,而那些少数出现的女性往往是孤立的。在一个有20个学生的房间里,可能有5个甚至更少的学生是女性。

现如今,女性在脑力劳动更多的计算机科研行业可能还更多一些,但在劳动密集型的公司程序员,女性的身影也越来越少。

不知道20年后,当我们环顾四周,在计算机科学领域,会看到更多女性的身影吗?

 

责任编辑:张燕妮 来源: 新智元
相关推荐

2009-09-16 16:18:51

2012-11-20 09:19:21

ARM超级计算机HPC

2013-08-19 09:09:10

Debian

2023-08-01 06:56:34

DRAM内存服务器

2009-09-03 09:47:23

Google ChroChrome谷歌

2009-09-16 17:04:58

第一台PC王之

2013-08-12 16:00:26

Linux 3.11

2009-09-16 16:24:47

2009-09-22 16:49:01

第一台服务器

2019-03-14 12:51:47

云计算云平台公有云

2010-06-08 17:30:05

2013-10-21 15:52:35

Ubuntu

2010-01-12 10:24:25

高德纳

2009-04-29 15:57:53

2013-11-19 13:23:01

2010-04-02 10:56:20

Ed Roberts

2010-08-17 09:41:34

Debian

2011-08-17 15:28:00

Debian18周年生日

2010-09-17 08:29:08

2019-07-30 10:13:38

Windows 10Windows数据
点赞
收藏

51CTO技术栈公众号