跳轉到

第 2 章 查爾斯·巴貝奇與愛達·洛夫萊斯:機械計算機上的第一串程式指令#

2.2 愛達·洛夫萊斯(Ada Lovelace)編寫的 Bernoulli 數計算步驟:人類歷史上第一份被正式記錄的計算機演算法#

2.2.1 拜倫之女的數學人生#

奧古斯塔·愛達·拜倫(Augusta Ada Byron)1815 年生於倫敦。母親 Anne Isabella Milbanke(拜倫夫人在女兒五週齡時與詩人分居)刻意以嚴格的數學與理性教育塑造她,聲稱要「對抗」父親的浪漫血統。愛達師從 Mary Somerville(天文學與科普名家)與 Augustus De Morgan(布爾代數的另一位奠基者)——後者的書信顯示她已觸及「分析機超越純算術」的思辨。1835 年她與金氏(William King)成婚,1852 年因宮頸癌(治療爭議加速)去世,年僅 36 歲——與父親同齡辭世,成為文學與科學史上重合的巧合。

愛達·洛夫萊斯(Ada Lovelace, 1815–1852)是詩人拜倫勳爵之女;母親刻意以數學教育「對抗」拜倫血統的浪漫。1833 年她見到巴貝奇的差分機模型,此後與之保持二十年的智識合作。1842–43 年,她翻譯義大利工程師 Menabrea 的分析機論文(法文),並附上自己撰寫的長篇「譯註」(Notes A–G)。

2.2.2 譯註 G:第一個程式#

譯註 G 中,她詳細給出以分析機計算 Bernoulli 數的完整操作表:指令順序、變數分配、循環(「工作週期」cycle 的概念)。這份表格被廣泛視為史上第一份針對通用計算機的已發表演算法;1980 年代美國國防部把 Ada 程式語言以其命名,即是對此的致敬。

2.2.3 更深一步:她預見了「符號操作」的通用性#

洛夫萊斯的遠見不止於算術。譯註中寫道(大意):分析機「可以編織代數圖案,如同 Jacquard 織機編織花朵與葉子」,並設想它或可操作音符等符號。同時她冷靜地寫下後世稱為「洛夫萊斯異議」的判斷:

分析機沒有自主創造任何東西的能力,它只能執行我們知道如何命令它去做的事。

這一異議在 AI 史(圖靈 1950 年逐條回應)上被反覆討論——她是第一個同時預見計算的通用性與其界限的人。

2.2.4 前因後果#

  • 前因:貴族女性的數學教育(Augustus De Morgan 私授)+巴貝奇的圖紙與口述+Jacquard 織機的程序思想。
  • 事件:1843 年譯註發表(Taylor's Scientific Memoirs)。
  • 後果:程序(演算法)與機器(硬體)在文本上首次分離;「編程」作為獨立智力活動誕生;20 世紀 Babbage-Lovelace 被重新發掘(B. V. Bowden 1953《Faster than Thought》),成為計算機文化史的奠基敘事。

下一節:2.3 指令與數據