埃达·洛夫莱斯:世界上第一位计算机程序员
世界上第一台真正意义的计算机诞生于1946年,而早在19世纪,英国发明家查尔斯·巴贝奇就发明过一台小型计算机,能进行一些简单的数学运算。当时的一位英国女数学家,还曾给这台计算机编写过计算程序,她的名字是埃达·洛夫莱斯。
埃达生于1815年,她的父亲是英国浪漫主义诗人拜伦,她的母亲名叫安娜·伊莎贝拉。安娜因怀疑拜伦移情别恋,在生下埃达不久就离开了拜伦,独自带着埃达生活。
那时,中上层女性结婚后的主要任务就是操持家务,相夫教子,追求事业会被认为是不守妇道。幸运的是,埃达的母亲安娜接受过高等教育,通晓数学,她看出埃达有数学天赋,决心让女儿接受全面教育,主攻数学和逻辑学。
埃达上学后,接受过当时英国最有名的一些科学家的指导,如数学家玛丽·萨默维尔等。在1833年的一次派队上,玛丽将17岁的埃达引荐给了查尔斯·巴贝奇。查尔斯是英国的数学家和发明家,他研制了一台用于天文学计算的机器——“巴贝奇差动仪”。查尔斯将这台两英尺高的铜制机器向埃达作了展示,埃达被迷住了。
巴贝奇差动仪可用于计算多项式函数,运算速度比人工快很多,但经常出现运算错误。为了纠正运算错误,在此后的10多年中,查尔斯与埃达一起对机器进行了多次改良。在此期间,查尔斯成了埃达的良师益友,还发现了埃达有惊人的数学天才,称她为“数字女王”。
1835年,埃达结了婚,婚后育有两儿一女,但她并没有被家庭生活阻挡而停下研究步伐。
由于巴贝奇差动仪功能单一,只能用于数学运算,查尔斯不太满意,一直思考着如何能制造出更先进的机器。他发现,提花纺织机可以配制多种能够重复使用的打孔卡,纺织出不同的图案。受此启发,他于1837年发明出能进行更复杂计算的“巴贝奇分析机”。
查尔斯制造的巴贝奇分析机使用打孔纸带输入,采用十进制计数。埃达说:“这台分析机‘纺织’的是数字,正如纺织机能够在面料上纺织出花和树叶一样。”
巴贝奇分析机使用存储和处理数字的方式,虽然非常原始,但原理类似于今天计算机中的内存和处理器,从某种意义上说,它可以算得上是世界第一台计算机。
意大利数学家路易吉·费德里科·梅纳布雷亚也感觉到了巴贝奇分析机的价值,用意大利文写文章进行了推介。1843年,27岁的埃达将路易吉的文章作了翻译,发表在了英国的《科学报告》上。
埃达给这篇文章添加了注释,她的注释字数是原文的三倍,因为她意识到,这台分析机不仅有计算数字功能,还有其他的用途。她在注释中说,如果这台分析机有可以识别的编码,它就可用于编辑文字、图片和声音。她是第一个预见到通过使用编码,可以将分析机从数字计算发展到多用途计算机的人,后人因此称她为“计算机时代的先知”。
埃达在文章里写道:“分析机不会自主做任何事情,但如果我们对它发出指令,它就可以做很多事情。”她甚至设想过有一天能发明出一台能够模拟人类大脑进行思考和创造的机器,用我们当今热门话来说就是“人工智能”。
埃达这篇文章对计算机的发展还有另外两个重要贡献:一、她描述了分析机可以重复发出指令的方式,她称之为“迭代”,时至今日,计算机程序员仍在使用这一方法编程。二、她在文章中详细说明了使用该分析机计算伯努利数的方法,这也是世界上第一个计算机程序。2018年7月的一次拍卖会上,当年埃达写的初版文章,以95000美元成交。
1852年,也就是她在发表这篇经典文章不到10年后,36岁的埃达因子宫癌去世。此后的一百年间,埃达的名字几乎被人们遗忘,但在1953年,她的文章再次出版,人们这才广泛认识到,埃达是世界上第一位计算机程序员,她对于计算机事业的贡献也受到了世人尊重。
1980年,美国国防部以埃达的英文名字“Ada”命名了一种广泛应用的计算机程序语言:Ada语言,以此纪念埃达对计算机发展做出的重要贡献。美国著名传记作家沃尔特·艾萨克森在他所著《创新者》一书中写道:“埃达对于计算机应用的洞见成为了数字时代的核心理念,也就是任何一种资料、数据或信息,无论是音乐、文字、图片、数字、符号、声音或视频,都能够通过机器控制并以数字形式表达。埃达做出的贡献不但意义深远,而且鼓舞人心。她窥见未来的能力已经超过了巴贝奇以及任何一个与她处于同一时代的人。”
2009年,在美国《福布斯杂志》撰稿人苏·查曼·安德森的建议下,人们将每年10月的第二个星期二定为“埃达日”。每年一到这一天,世界许多女性程序员会来到伦敦,围绕计算机程序设计为主题发表演讲,演出喜剧、音乐剧,以此纪念埃达。
(综合)
19世纪英国画家玛格丽特·卡朋特为埃达所画肖像
新闻推荐
当我们看到一个很胖的人时,可能很容易把他与贪吃、懒惰等生活方式联系起来。但英国一项新研究表明,事情并没有那么简单,在控...