在计算机行业大部分为男性的今天,你绝对想不到世界上第一个程序员其实是个女人。
她活在180年前的英国,用短暂的一生写下了绚丽的科技诗歌。
她是大诗人拜伦唯一的婚生子,师从著名的数理逻辑学家德·摩根,并用短暂的一生写下了绚丽的科技篇章。
她写出的第一个程序,如今的后辈们也不敢随意修改。
她就是埃达·洛芙莱斯(Ada Lovelace)
埃达·洛芙莱斯是谁?
奥古斯塔·埃达·金·诺尔(Augusta Ada King-Noel, Countess of Lovelace)出生于 1815 年 12 月 10 日;她原姓拜伦(Byron),嫁给洛芙莱斯伯爵后改姓洛芙莱斯,是一位英国数学家兼作家。其代表工作是对查尔斯·巴贝奇分析机研究的整理。
她是第一位主张计算机不只可以用来算数的人,她在笔记中详细说明了用分析机计算伯努利数的方法,这一算法被认为是世界上第一个计算机程序,是史上第一位认识电脑完全潜能的人。因此,埃达也被公认为人类历史上第一位计算机程序员。
今天是她诞辰206周年,所以在这个特殊的日子,就让我们聊一聊这位人类历史上首位程序员的传奇经历。
埃达的成长经历
埃达的父母在她刚刚满月时就已经离婚,她由母亲带大。八岁时,父亲拜伦病逝于希腊独立战争的战场上,很有可能的是,Ada直到父亲去世,也不知道父亲的样子,父亲的形象只存在于她的想象中。因为直到她20岁生日时,安娜贝拉才给她看一幅家庭画像,那上面有她父亲。
由于母亲安娜贝拉热爱数学,也害怕埃达遗传了拜伦的基因,在成长中变得像拜伦一样“道德败坏”,也不想让女儿陷入拜伦式的疯狂,她坚持让女儿从小开始学习逻辑、科学和数学,为埃达成为世界上第一位程序员埋下了伏笔。
事实上,这些学科在当时的年代对于女性无异于禁区,对这些学问感兴趣并愿意钻研的女性也极为罕见。
而借着她的家庭与教育环境,埃达结识了许多知名科学家,如安德鲁·克罗斯、被誉为“电脑之父”的查尔斯·巴贝奇、查尔斯·惠斯通、麦可·法拉第和作家狄更斯,跟着他们进修。
埃达自称是“分析家(兼形而上学家)”,并自称在从事“诗意科学” ,“生来就有点哲学家的气质,并且天生是一个非常卓越的思考者”。
埃达12岁时,开始梦想在天空中翱翔。和大多数人的梦想不同,埃达不止于满足自己的梦想,她深思熟虑,按部就班,希望一步步实现她的梦想项目。
第一步需要制作翅膀,于是她开始计算、分析不同的材质、大小,尝试各种材料:纸、油布、缆线、羽毛等。她研究鸟类生理解剖学,计算双翼和身体的正确比例,甚至有项目把她的研究发现和图表,整理成书《飞行学》。她甚至还有后续的步骤和计划:她列举出飞行需要的其他器材设备,比如罗盘;在那个蒸汽时代,她还要把蒸汽整合进她发明的“飞行艺术学”。
但是一年多以后她因为麻疹发作而全身瘫痪,从而放弃了这个梦想
与巴贝奇的相识
在17岁时于剑桥大学第一次见到了著名的数学家、发明家兼机械工程师查尔斯·巴贝奇,而这次相遇成了埃达人生的转折点。巴贝奇当时正致力于发明分析机,而埃达则致力于为这台分析机编写算法。
在这个过程中,埃达第一次接触到“差分机”这个概念。埃达日后的在和巴贝奇教授讨论差分机的过程中,预言了通用计算机的可能。
譬如她建议建议用二进制数代替原来的十进制数,表明分析机可以接受各种各样的穿孔卡:“控制卡”、“数据卡”、“操作卡”。她还提议数字和其他符号如字母都可以“编码”成数字数据,机器可以处理它们。
甚至早于现代计算机出现200年,提出了分析机的记忆能力的想法,指出分析机应该有存储位置或地址,并且有“注解或备忘”的可能性。阿达曾经预言道:“这个机器未来可以用来排版、编曲或是各种更复杂的用途。”
埃达·洛芙莱斯亲笔书信手稿
根据巴贝奇的设想,差分机可以实现从计算到印刷的过程全部自动化。差分机一号的建造工作启动于1822年,历经十年,据说完成了1/7。当时的英国政府发现这个项目超支严重,一气之下就砍掉了这个项目。
差分机原理和后人根据巴贝奇著作还原的差分机实物
失去了政府的资助后,巴贝奇仍继续工作。他打算设计一台更为复杂的机器——分析机。
分析机可以运行包含“条件”“循环”语句的程序,有寄存器用来存储数据,如果实现的话将成为人类第一台计算机。但该项目最终还是以失败告终了。不过凭借这些成果,巴贝奇被后人誉为“计算机之父”(不过历史上被称为“计算机之父”的人还有很多,譬如图灵,冯·诺依曼,阿塔那索夫……)。
关于分析机,意大利数学家路易吉·梅纳布雷亚写了一篇论文,1842年,在惠斯通的建议下,埃达承担了这篇论文的翻译工作。
在译文后面,埃达增加了许多注记,按英文字母顺序从A到G。在G中,她详细说明了如何用分析机计算伯努利数。上文说了,我们可以认为分析机就是计算机,那么Ada这个计算伯努利数的方法,也就是一个程序,而且这也是世界上第一个计算机程序。
然后,写下这段程序的Ada,就成为世界上第一位程序员。
埃达创作的伯努利数计算图,这就是世界上第一个计算机程序/算法
以研究巴贝奇而闻名的计算机历史专家Doron Swade,在研究了埃达的贡献后,总结了以下4点:
她是一个数学天才
她对分析机做出了有影响力的贡献
她是第一位计算机程序员
她是计算机时代的先知
伟大的人生落下帷幕
之后的埃达染上了酗酒、吸毒、赌马,再加上子宫癌的折磨,她最终在36岁离世,与父亲拜伦同岁。她被安葬在诺丁罕哈克诺的哈克诺圣玛丽亚·抹大拉教堂,与父亲一起长眠。
她去世后一百年,于1953年,埃达之前所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。
在微软的Wins产品里也可以找到埃达的全息图标签。
英国计算机公会每年都颁发以埃达命名的软件工程创新大奖。
在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念埃达·洛芙莱斯。
至此,埃达·洛芙莱斯伟大浪漫的人生生涯落下帷幕。
网友评论