本文由公众号 “把科学带回家” 提供
给孩子最好的科学教育
来源 fas.harvard.edu等
编译 七君
你有没有考虑过,在计算机和计算器出现前,人们是怎么算赛因扣赛因,还有对数的呢?难道每次要用的时候,都要亲自手算吗?
其实,在2百多年前,人肉计算机就出现了;一直到20世纪60年代真正的超级计算机出现前,计算都是人肉实现的。而且这些人肉计算机,大多数时候是女孩子,因此在计算机出现之初,计算能力的单位是用女孩子的人头数来衡量的。
200年前的女人肉计算机
1790年,法国数学家和工程师,水利学家 Gaspardde Prony 组织了一批人肉计算机。这些人肉计算机的任务是,在法国大革命后的百废待兴的法国制造对数表和三角函数表,这样法国国民议会才能进行土地测量和登记。
这些人肉计算机,许多是因为贵族倒台而失去工作的假发制造者,而这些假发制造者中的大多数是女孩子。
18世纪其实还有一位曾被历史淹没的女人肉计算机。
因为对哈雷彗星感到好奇,法国天文学家亚历克西斯·克劳德·克莱罗(Alexis-Claude Clairaut,1713-1765年)开始计算哈雷彗星下一次会在什么时候探访地球。他把这个计算过程分成了好几步,并在两位同事,法国数学家和天文学家妮可-雷讷·勒波特(Nicole-Reine Lapaute) 和法国天文学家杰罗姆·拉朗德(Joseph-Jerome de Lalande)的帮助下,在卢森堡宫里用鹅毛笔和亚麻布纸进行演算。
妮可-雷讷·勒波特是一位法国皇家钟表匠的妻子,她曾经和丈夫建造了一个具有天文历法功能的时钟。勒波特的父母比较开明,因此她受到了比较好的教育,她的丈夫也允许她从事研究,因此勒波特成为了拉朗德的长期科研搭档。
勒波特和拉朗德计算的是木星和土星的引力(三体问题)以及哈雷的轨道问题。1750年左右,勒波特用三角学的方法帮助克莱罗计算哈雷彗星下一次造访地球的时间。他们一直工作了6个月,终于预测出,哈雷彗星将在1759年4月13日回归。
这数字和实际日期3月13日只差1个月。这个误差主要是因为当时天王星和海王星还没有被发现,因此他们没有算上这两个行星的影响。但是,他们3人的计算比哈雷本人的预测——1758年要准确得多。
不过,克莱罗曾经想把勒波特的名字从这个大发现中剔除,亏了拉朗德翻案,否则我们就不知道18世纪还有这样的强大大脑存在了。
便宜好用的哈佛天文台女计算机
到了19世纪,便宜好用的受过高等教育的女孩子成了天文计算的主力。
1885-1917年间,哈佛大学天文台(Harvard College Observatory)雇佣了80个女人肉“计算机”来分析成千上万的天文学摄影。
这些“照片“是秘鲁和马塞诸塞州的天文望远镜拍摄的。因为当时的技术限制,这些“照片”用的是感光玻璃板。哈佛大学介绍,每块玻璃版上可能有超过10万个恒星。这些女人肉计算机要计算这些恒星的亮度,并要根据恒星光谱将它们一个个分类。
哈佛大学天文台的女人肉计算机
图片来源:harvard.edu
哈佛大学表示,雇佣女人肉计算机的原因是雇不起男性,因为这些女性愿意接受25美分的时薪(相当于现在的6.6美元/小时)。当时,麻省的女子文理学院拉德克利夫学院的毕业生甚至愿意当不拿薪水的实习生。
在这些女人肉计算机中,亨丽爱塔·勒维特(Henrietta Swan Leavitt)和安妮·坎农(Annie Jump Cannon)最为著名,因为她们的发现改变了天文学的历程。
女人肉计算机亨丽爱塔·勒维特的发现让埃德温·哈勃(Edwin Hubble)发现了哈勃定律,并得以发展出关于宇宙膨胀的理论。
另外一位女人肉计算机安妮·坎农后来发明了哈佛分类法(Harvard Classification Scheme),也就是根据恒星的颜色对其进行分类的方法,这个分类法后来在天文学上得到了广泛使用。
二战时:男人在前方丢炸弹,女人在后方做计算
1945年,世界上第一台可编程的通用计算机埃尼阿克(ENIAC)出现了。
部分保存在宾夕法尼亚大学的埃尼阿克
图片来源:wikimedia
埃尼阿克是个大胖子,重达27吨,占地167平方米,胃口也很大,功率是150千瓦。在理论上,这个用真空管制造的计算机可以处理任何问题。但是在二战时,埃尼阿克的主要任务是计算弹道。
在二战快结束的时候,宾夕法尼亚大学的6位女性被挑选出来做埃尼阿克的程序员。她们是 Jean Jennings Bartik,Betty Holberton,Marlyn Wescoff,Kathleen McNulty,Ruth Teitelbaum 和 Frances Spence。
埃尼阿克的六位女程序员之一的Frances Spence
图片来源:wikimedia
这些女性很乐于做这个工作,因为那个时候有知识有技术的女人大都只能去教教书,或者为保险公司做精算师。
但是,埃尼阿克这个计算机有个小问题:埃尼阿克的创造者(因为懒)没有写任何操作手册,所以具体操作全要这些女程序员自己搞定。
后来嫁给埃尼阿克的发明人之一,美国物理学家约翰·莫奇利(John Mauchly)的第一代程序员 Kay McNulty 在1977年接受采访时表示,当时一开始有人给她们一大堆蓝图,蓝图里描绘的是埃尼阿克所有电路板的图解,然后告诉她们:
“用它们你们就知道机器的原理啦,然后你们就知道怎么给它编程啦。”
但是在通用计算机刚刚出现的时代,谁也没经历过这种事儿,所以谁也不知道,谁也不敢问。要是在现在,你把计算机的电路板给程序员看,啥操作说明也没有,然后让他们根据电路板编程,他们肯定想打人。
Betty Jean Jennings (左) 和 Frances V. Spence (右)正在操作埃尼阿克的控制面板。
图片来源:wikimedia
总而言之,女程序员的编程工作是,首先把要解决的问题用机器能读懂的语言描述和翻译出来,然后把这些代码通过机器的开关输入进去。
听起来很简单,但是上手之后,这些女程序员才真的想打人。一开始,光是为埃尼阿克输入要处理的问题就要花费数天时间。听一听心直口快的埃尼阿克第一代程序员 Jean Bartik 是怎么描述这个工作的吧:
“埃尼阿克就是一个XX(碧池)。”为了调试程序,她们必须要到这个27吨的胖子的嘎吱窝里去看到底哪根真空管出问题了。你要是让现在的程序员拆开电脑调试程序,不打人那都是真爱。
好在这6个女程序员设计了一种储存程序的方法,简化了问题输入的过程。埃尼阿克的女程序员之一 Jean Bartik 说,用这种方法,“你就不需要再对机器进行设置了,你只需要调整一下开关和函数表就可以了。这样一来,对埃尼阿克进行编程的大到吓人工作量就成为过去了。”
另外,为了改善用埃尼阿克编程的效率,McNulty 发明了子程序,Betty Holberton 则发明了世界上第一个程序生成器(能产生其他程序的程序)、归并排序程序,还有断点程序(命令计算机停止,方便程序员调试的程序)。
这一切努力都没有白费。Jean Bartik 回忆:“埃尼阿克面世的那天是我人生中最光辉灿烂的一天。埃尼阿克计算弹道的速度比子弹还快,是此前任何机器运算速度的1000倍。”
当被问到,埃尼阿克的设计者约翰·皮斯普·埃克特(J. Presper Eckert)和莫奇利的编程能力是不是和这6人小队一样强时,她直接说:“他们当然比不上啦。他们当然知道埃尼阿克的工作原理,但是他们的工作并不是编程。”
现在,这批埃尼阿克女程序员中的很多人都被视为计算机编程的先锋人物。
NASA的火箭女孩
你可能不知道,在二战前后,NASA 还曾有全女子人肉计算机小部队。
2016年的好莱坞电影《隐藏人物》的三位原型,西部电脑 Mary Jackson(上左),Katherine Johnson(上中),Dorothy Vaughn(上右)和三位对应的主演(下排)。
1943-1958年,为 NASA 的前身——兰利航空实验室(Langley Memorial Aeronautical Laboratory)执行计算任务的是一些女黑人。她们承担了各种航天工程的任务,其中就包括为美国的第一个载人航天计划——水星计划进行轨道计算。
这些女黑人肉计算机后来被称为 West Computers(西部电脑),这些人的事迹也被拍成了2016年上映的电影《隐藏人物》(Hidden Figures)。
20世纪40年代,NASA 的喷气推进实验室(JPL)还有登月计划和火星探索计划,当时参与这些项目的计算的大多数也是女性,她们是 JPL 的女人肉计算机,被称为 Rocket Girls(火箭女孩)。
1953年,JPL的女人肉计算机Rocket Girls,这些姑娘的工作是帮助美国发射卫星,并进行月球任务和行星探索任务。
图片来源:NASA/JPL-Caltech
“千女子力”
二战后的一段时间里,科研和企业依然需要人肉计算机。
1950年左右,意大利的耶稣会传教士 Father Roberto Busa 和 IBM 合作,组织了一群人肉计算机,专门用来把中世纪哲学家托马斯·阿奎那(Thomas Aquinas)的书籍翻译成打孔卡(punchcard)——打孔卡相当于那个时代的U盘,并对文本进行语言学和文学分析。
用打孔卡编程的时代
图片来源:wikimedia
这个工程规模浩大。话痨阿奎那写了大概9百万字的材料,因此 Busa 的人肉计算机分析进行了超过30年。这项工作后来被称为 INDEX THOMISTICUS,这是世界上比较早的利用(人肉)计算机进行的数字人文研究。
而参与这个首批人文学科数字化工作的,也是女人肉计算机。意大利米兰圣心天主教大学 CIRCSE 研究中心的研究员 Marco Passarotti 后来回忆,Busa 曾和他表示,选择女孩子做人肉计算机的原因是她们比男孩子更细心。
事实上,因为那个时候的人肉计算机大多是女性担当,因此二战后对计算机的计算能力的描述就是用“千女子力”(kilo-girl)来表示的,就和“马力”类似。
“千女子力”这个单位代表着,某台计算机的计算能力等同于1000个女性。而计算时间则被称为“女子时间”(girl hours)。
这种状况一直持续到60年代。
在20世纪60年代初期,编程被看作是适合女孩子的工作,当时的女性时尚杂志《时尚》(Cosmopolitan Magazine)还曾在一篇名为“计算机女孩”(The Computer Girls)的文章中写道,对女孩子来说计算机编程领域提供的工作比其他领域都多。
20世纪60年代,编程被看作是适合女孩子的工作,女性时尚杂志《时尚》(Cosmopolitan Magazine)称,编程这个工作很适合女孩子,收入很高(实习生8000美金一年,高级系统分析师2万美金一年;1960年的2万美金相当于现在的17万美金),并且刊登了 IBM 的系统工程师 Ann Richardson 的照片。
图片来源:sice.indiana.edu
计算机协会(ACM)的教育主管 James Adams 也曾说:“除了教书以外,我不知道还有什么工作比编程更适合女孩子。”
美国海军准将及计算机科学家,世界最早一批的程序员之一格蕾丝·赫柏(Grace Hopper)还曾告诉一位记者:编程“就像准备晚饭,你要提前做好规划以备不时之需…女性‘天生’适合计算机编程。”
格蕾丝·赫柏
1965年,超级计算机 CDC 6600 出现了。这时候开始,人肉计算机的重要性就下降了。后来,由于计算机技术的发展,人肉计算机终于成为了过去时。
1962年,美军Ballistics Research Laboratory的女人肉计算机。
图片来源:U.S. Army/ARL Technical Library Archives
在被问到给现在的女孩子的建议时,Jean Bartik 说:“别听别人说你做不了什么。如果你相信你能做到,并且给自己相应的教育,你可以成就任何事。”
总之看完这些女人肉计算机和女程序员先驱的故事,时代有没有进步我不知道,我只知道现在的计算能力不是用女人头做单位的,而是用秃顶的程度来描述的。以前的女程序员应该没有这种痛点吧。