3

第一个程序员 Ada 的故事

 3 years ago
source link: https://1byte.io/ada-story/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

1 Byte

第一个程序员 Ada 的故事

2017-11-23

在 IT 行业,性别的不均衡是个经常出现的话题。因为在这个领域从业的女性比例很低,所以有很多公益组织致力于提高女性在 IT 业的参与度。也有不少人认为整个行业对女性存在着一定程度的偏见和歧视,因为一些人认为女性从事技术工作的能力要弱于男性。

事实上,计算机这个行业的发展从一开始就是和女性密不可分的。Computer 这个词是在计算机出现之前很久就有的,指的是以计算为职业的人。因为女性通常比较细心,进行这样的工作时出错比较少,所以当时的 computer 大部分是女性。这些女性为很多科学上的关键发明发现和二战的胜利做出了重要贡献。二战期间科学家衡量所需计算能力的单位不是 megahertz,不是 teraflops, 而是 kilo-girls --- 也就是相当于一千个女孩的算力。

现代程序员这个职业的鼻祖也是一位女性,并且她的时代比我们更熟悉的图灵、冯·诺伊曼等其他计算机领域的先驱早了一个世纪。她就是 Ada Lovelace.

ada portrait
Ada Lovelace

Ada 的父亲是英国著名诗人拜伦,其实她的原名是 Augusta Ada Byron,后来因为她丈夫继承了 Earl of Lovelace 的爵位,所以她以 Ada Lovelace 这个名字为人所知。拜伦在 Ada 几周大的时候就离开了英国,并且后来再也没有和她相见(虽然拜伦一直在桌上放着 Ada 的照片,并且在诗里写到她)。她的母亲为了不让她走上他父亲那样「疯狂」的文艺道路,让她从小就学习逻辑和数学,希望她能成为一个理性的人。她从小和外婆一起生活,虽然母亲照顾她不多,但是坚持要让她得到好的教育。那个时候英国的学校不对女性开放,不过富人家的女孩往往可以从私人教师那里得到好的教育。在 12 岁时她就很痴迷于研究怎么样让蒸汽驱动的机器像鸟一样飞行。

作为少有的出身上流社会、痴迷于科学、并受过很好教育的女孩,Ada 在当时英国科学界的社交圈是个活跃和受到欢迎的人,身边可谓群星闪耀。她和法拉第、狄更斯等知名人物都是朋友,她也以此为便来寻找各种学习机会。1833 年,她认识了剑桥大学的数学教授查尔斯·巴贝奇(Charles Babbage)并和他成为朋友。当时巴贝奇的头衔是:Lucasian Professor of Mathematics。在他之前,牛顿曾经拥有这个头衔,而它现在的主人是霍金。巴贝奇把 Ada 介绍给了德摩根定律和数学归纳法的发明者奧古斯塔斯·德摩根(Augustus De Morgan),德摩根成了她的数学老师。在给 Ada 母亲的信里,德摩根曾经说到她女儿在数学方面有出众的能力,有望成为第一流的数学家。法拉第也曾经说她是「科学界正在升起的新星」。

calculus letter
Ada 跟随德摩根学习微积分的笔记

巴贝奇知道 Ada 母女都对数学很有研究后,邀请她们参观他发明的差分机(difference engine)。因为人工计算经常出错,所以他想用一种手摇或者蒸汽驱动的机器来进行计算。Ada 马上被 Babbage 的发明吸引住了。事后她给巴贝奇写信要来了差分机的图纸,决定一定要弄明白它的工作原理。

巴贝奇不久后又设计出了叫分析机的机械式通用计算机。由于在当时没有得到英国政府的重视,缺少必要的资源,一直到巴贝奇辞世分析机都没有被实际制造出来。但它的设计逻辑非常先进,是一百多年后电子计算机的先驱。

巴贝奇请 Ada 帮忙翻译意大利工程师 Luigi Federico Menabrea 写的一篇关于分析机的论文。她除了把文章从法文翻译成英文外,补充了很多自己的批注和笔记,增加的部分有原文的三倍长。她的笔记和翻译一起发表在英国的一个科学期刊。Ada 的署名是 A.A.L.,也就是 Augusta Ada Lovelace 的缩写。在她的笔记里 Ada 描述了如何用程序来处理字母、符号、甚至音乐等其它信息,而不仅仅是数字。她还描述了分支、循环等在现代程序设计语言里常见的基本流程控制机制。也是在这篇笔记里,她发表了人类的第一个程序:计算伯努利数列,如果当时分析机实际存在,她的程序是可以正确运行的。

paper draft
Ada 写给巴贝奇的信件

Ada 生活的时代远远早于她所应属于的时代,她的大部分成果所需要的机器都只存在于她的脑中,无法实际制造,这个世界用了很久才追上她。虽然是巴贝奇设计了分析机,但是 Ada 是最早预见通用计算机的潜力的人,其他人只想到了用机器处理数字。她在给一个朋友的信中写到,她在研究大脑如何产生思维,以及神经如何产生感觉,并希望能给神经系统建立一个数学模型,而人工神经网络的模型在电子计算机被发明后才出现。Ada 留下的手稿里有一个论点是机器将可以做人能做的任何事情,但创新性的思考除外,这是程序的局限性。图灵把它称为 Lady Lovelace's objection,他受此启发而设计了我们称为「图灵测试」的模仿游戏。她的成就是在当时对女性存在诸多限制的大背景下取得的,学校教育的不平等只是其中之一,比如她作为女性不能进入皇家图书馆。

ada plaque
伦敦圣詹姆士广场的蓝牌 — 「英格兰的遗产、计算的先驱、Lovelace 伯爵夫人 Ada,1815 - 1852」

Ada 在 22 岁之后就一直生活在病痛中,因为经常需要食用镇痛药物而性情改变,在 36 岁时因为癌症而英年早逝。她在弥留之际曾经让狄更斯在床边为她诵读他书里关于死亡的描述。她在死亡的边缘坚持了三个月之久,当时一位有名的医生说「她不可能活那么久,唯一的解释是她充满活力的大脑不愿死去」。虽然和父亲拜伦从她出生五周后就再未谋面,并且她的母亲一直尽量避免让 Ada 受拜伦影响,她还是选择葬在了拜伦的墓边,巧合的是 Ada 和拜伦都是 36 岁去世。她对计算机科学的贡献在过世一百多年电子计算机出现后才被重新发现和重新出版。1980 年前后,美国国防部开发了一个标准化的程序设计语言来替代当时在国防部各种系统中使用的 400 多种语言,为了纪念她,这个新语言被命名为 Ada。

sonnet
Ada 的墓碑上刻着她写的十四行诗「彩虹」

Ada 的女儿 Anne Blunt 也是一位富有传奇色彩的女性,她也嫁给了一位诗人,不过她们祖孙三代的婚姻都很不幸。Anne Blunt 最大的事业是养马,现在阿拉伯地区之外的纯种阿拉伯马基本血缘都能追溯到她的马场。她也是一位小提琴家。她拥有的由意大利知名制琴师 Stradivarius 制作的小提琴后来以她的名字命名为「Lady Blunt」,在 2011 年以 1600 万美元拍卖,创造了世界记录。


LeanCloud 在招聘后端软件工程师(Clojure、Java、Node)。具体的需求以及其他正在招聘的职位请见我们的工作机会页面。除了在官网上可以看到的已经发布的产品外,我们也在开发让人兴奋的新产品,做有意义、有价值的工作。


订阅我的邮件列表以得到新文章通知:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK