给计算机写程序的第一人竟是一位女子

来源:https://baike.baidu.com/item/%E9%98%BF%E8%BE%BE%C2%B7%E6%B4%9B%E8%8A%99%E8%8E%B1%E6%96%AF/12010940?fromtitle=Ada%20Lovelace&fromid=6825878

给计算机写程序的第一人竟是一位女子_第1张图片

就是上图这位名叫阿达·洛芙莱斯的女子


阿达·洛芙莱斯是谁?


阿达·洛芙莱斯(Ada Lovelace),原名奥古斯塔·阿达·拜伦(Augusta Ada Byron),是著名英国诗人拜伦之女,数学家。


她是计算机程序创始人,建立了循环和子程序概念。


她为计算程序拟定“算法”,写作了第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。


她也是数学牛人


阿达是她诗人父亲—拜伦与母亲安妮·伊莎贝拉·米尔班奇(Anne Isabella Milbanke)唯一的合法子嗣。她的名字取自拜伦的异母的姐姐奥古斯塔·李(Augusta Leigh)。


据加利福尼亚大学圣迭戈分校的记载,阿达是著名诗人乔治·戈登·拜伦(George Gordon Byron)的女儿,在她出生后不久,她的父母就离异。


她的母亲鼓励她从事数学研究,以避免像她的父亲那样出现“危险的诗人倾向”。


拜伦与安妮贝拉的婚事是在奥古斯塔为了避免丑闻,而怂恿拜伦与安妮贝拉结合的产物。然而,在1816年1月16日,安妮贝拉还是离开了拜伦,带着一个月大的阿达离开。同年4月21日,拜伦签下了分居协议,并离开英国。


阿达从未见过她同父异母的妹妹阿拉格·拜伦(Allegra Byron),阿拉格是拜伦与克莱尔·克莱蒙(Claire Clairmont)所出,但于1822年死去,得年5岁。至于阿达的另一位亲戚伊丽莎白·梅朵拉·李(Elizabeth Medora Leigh,是奥古斯塔·李之女)则有与她照过面,并由阿达的母亲告知阿达与梅朵拉彼此的身世。


阿达与她的母亲同住。

她的母亲Anne Isabella对数学感到极高的兴趣(其夫拜伦称她为The Princess of Parallelograms,即平行四边形公主),数学占有她人生的绝大部分,即使结婚之后也是如此。而阿达的母亲Anne让她年轻时就学习数学一事,却总是被认为是受到其父拜伦的影响。阿达的数学与科学课程是由家庭教师威廉·福莱德(William Frend)、威廉·金(William King)与玛丽·索麦维(en:Mary Somerville)所指导,后来更接受奥古斯都·德·摩根的教导。阿达也是一位活跃于伦敦社交圈的女士,年轻时曾是女学究(Blue Stockings Society)的会员。


1835年,阿达嫁给了威廉·金(后来晋封为第一代勒芙蕾丝伯爵)。他们总共生下三个孩子:

  1. 拜伦(Byron,生于1836年5月12日)、

  2. 安妮贝拉(Annabella,生于1837年9月22日)

  3. 拉尔夫·戈登(Ralph Gordon,生于1839年7月2日)勒芙蕾丝一家住在瑟瑞(Surrey)的奥坎(Ockham)。


而自婚后,她的头衔则变成奥古斯塔·阿达,勒芙蕾丝伯爵夫人阁下(The Right Honourable Augusta Ada, Countess of Lovelace),不过较简单的阿达·勒芙蕾丝和婚前名称阿达·拜伦。


她的老师玛丽·索麦维是一位著名的19世纪科学家,并由这位学者于1833年6月5日介绍给查尔斯·巴贝奇。著名的大卫·布鲁斯特爵士(Sir David Brewster)、查尔斯·卫斯顿(Charles Wheatstone)、查尔斯·狄更斯与麦可·法拉第也认识她。


数学让她接触到了计算机程序


在1842年与1843年其间,阿达花了9个月的时间翻译意大利数学家路易吉·米那比亚对巴贝奇最新的计算机设计书(即分析机概论)所留下的备忘录。在这部译文里,她附加许多注记,内容详细说明用计算机进行伯努利数的运算方式,而被认为是世界上第一个电脑程式。


因此,阿达也被认为是世界上第一位程式设计师。巴贝奇在他所著的《经过哲学家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述叙:

“我认为她为米那比亚的备忘录增加许多注记,并加入了一些想法。虽然这些想法是由我们一起讨论出来的,但是最后被写进注记里的想法确确实实是她自己的构想。我将许多代数运算的问题交给她处理,这些工作也与伯努利数的运算相关。在她所送回给我的文件,更修正了我先前在程序里的重大错误。”


阿达的文章创造出许多巴贝奇也未曾提到的新构想,比如阿达曾经预言道:“这个机器未来可以用来排版、编曲或是各种更复杂的用途。”


她给计算机带来的价值被国防部、微软所认可


她死后一百年,于1953年,阿达之前对查尔斯·巴贝奇的《分析机概论》所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。


  • 在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念阿达·洛芙莱斯。

  • 在微软的Wins产品里也可以找到阿达的全息图标签。

  • 英国计算机公会每年都颁发以阿达命名的软件工程创新大奖。 


PS:Ada是一种表现能力很强的通用程序设计语言,它是美国国防部为克服软件开发危机,耗费巨资,历时近20年研制成功的。它被誉为第四代计算机语言的最成功代表。


与其他流行的程序设计语言不同,它不仅体现了许多现代软件的开发原理,而且将这些原理付诸实现。因此,Ada语言的使用可大大改善软件系统的清晰性,可靠性,有效性,可维护性。Ada的出现,标志着软件工程成功地进入了国家和国际的规模。


在一定意义上说,Ada还打破了“冯.偌依曼思维模式” (Von Newman Mind-set) 的桎梏,连同Ada的支持环境(APSE)一起,形成了新一派的Ada文化。它是迄今为止最复杂,最完备的软件工具。

-END-

 近期热文:

  • 不改一行代码定位线上性能问题

  • Logback中如何自定义灵活的日志过滤规则

  • HBase优化实战

  • MySQL的索引

  • 漫话:如何给女朋友解释为什么双11无法修改收货地址?

  • Java中生产者与消费者问题的演变

  • 分库分表技术演进&最佳实践

关注我

640?wx_fmt=jpeg

点击“阅读原文”,看本号其他精彩内容

你可能感兴趣的:(给计算机写程序的第一人竟是一位女子)