Free PDF: The Genius Workout — 50 brain teasers + the 25 highest IQs in history.
博客

Ada Lovelace的第一个计算机程序:她在1843年究竟写了什么

Ada Lovelace对Luigi Menabrea论述Babbage分析机论文的翻译中的《注解G》(1843年)包含了被视为第一个计算机程序的内容:一个用于使用(从未建成的)分析机计算伯努利数的算法。但这份注解的重要性远超单个算法。Lovelace抓住了关于计算的某个本质——Babbage本人并未充分阐明,而计算机科学界又花了整整一个世纪才完全发展的东西。

The Analytical Engine

Charles Babbage在1830年代设计了分析机——一台具有内存(

伯努利数算法

《注解G》包含一个操作表——从现代角度看本质上是一个算法——用于使用分析机计算伯努利数。它包含循环、条件操作以及多个变量的同步管理。它比Babbage记录的任何东西都更复杂,历史学家普遍将其设计主要归功于Lovelace而非Babbage。

超越计算的愿景

更重要的是,Lovelace认识到该机器不仅仅是一台计算机,而是一个符号操纵器——它可以对任何可以用符号表示的对象进行操作,而不仅仅是数字。她写道:

关于她角色的争议

一些历史学家辩称Lovelace的贡献主要是编辑性的——关键思想来自Babbage。他们之间的通信显示了广泛的合作,包括Babbage的修订和建议。然而,《注解G》中的伯努利算法和关于计算本质的哲学洞察似乎主要是Lovelace的贡献。

Frequently Asked Questions

Ada Lovelace究竟编写了什么程序?

Lovelace在《注解G》(1843年)中编写了一个算法,用于使用Babbage分析机计算伯努利数——被认为是第一个计算机程序。该算法包含循环和条件操作。她还提出了一个原理:计算机可以操纵任何符号表示,而不仅仅是数字——这预见了现代计算理论。

Ada Lovelace真的是第一位程序员吗?

这个说法存在争议。Lovelace的《注解G》(1843年)包含了第一个已记录的、旨在由机器执行的算法。一些历史学家辩称Babbage对该算法贡献重大,Lovelace的角色在现代流行叙事中被夸大了。然而,关于超越算术的计算哲学愿景似乎确实源自Lovelace的洞察。

什么是伯努利数?

伯努利数是一组有理数序列,与数论有深刻联系,出现在整数幂和公式、黎曼zeta函数和三角函数泰勒级数中。前几个是B0=1、B1=-1/2、B2=1/6、B4=-1/30。Lovelace计算伯努利数的算法是第一个为机器执行而设计的算法。

在Geniuses.Club阅读全文

探索更多天才

1,300+ articles · 1,300+ biographies · 中文

查看全部