文章專區

2022-06-01從敷衍數學到成為程式語言的先驅 世上首位程式設計師 勒芙蕾絲 630 期

Author 作者 蘇意雯/臺北市立大學數學系教授,喜歡與大、小朋友分享有趣的數學史故事。宋致論/政治大學畢業,即將赴聖路易華盛頓大學攻讀經濟學碩士,對學術研究充滿熱忱。

Take Home Message
► 勒芙蕾絲是英國著名詩人拜倫與數學家安娜貝拉的女兒,母親安娜貝拉安排數學、邏輯課程,打下她日後研究程式語言的基礎。
► 1833 年的勒芙蕾絲在英國數學家巴貝奇身邊協助研究,並被巴貝奇設計的計算器「差分機」吸引,後續也投入他的另一項發明——「分析機」的研究。
► 勒芙蕾絲在翻譯一篇分析機的論文時,納入她自己對機器原理的說明,以及一張通常被稱為「第一份電腦程式」的表格。她預見了電腦的潛能,更被計算機科學界公認為先驅人物。

相信讀者都知道每年5 月的第二個星期日是母親節,但你是否曾留意過每年10月的第二個星期二呢?

每年10月的第二個星期二其實是「愛達.勒芙蕾絲日」(Ada Lovelace Day),人們會在每年的這一天慶祝女性在科學、技術、工程、數學(science,technology, engineering and mathematics,STEM)領域取得的成就,除了激勵已從事這些行業的女性外,更希望能鼓舞女性學生投入STEM 領域。儘管目前STEM在性別平等方面已取得了進展,但仍然值得我們繼續努力並做出改變。不過,勒芙蕾絲(Ada Lovelace)是誰,又為何可以成為STEM女性努力的典範?

勒芙蕾絲的水彩肖像畫。

(Public Domain, Wikimedia Commons)

首位程式設計師

相信只要一提到坐在電腦前以精湛邏輯編寫程式的工程師,大多數人第一個想像到的都是身穿白色或藍色襯衫、打著領帶的男性上班族。中國工程師學會於2020 年釋出「工程師職涯發展與性別差異調查」的報告內容就指出,在全臺灣各領域工程師中,女性占比僅13%;在電子電機類則僅占8%。大眾對於工程師普遍為男性的印象似乎並非空穴來風,而是確有其事。

然而鮮為人知的是,這個當今充滿男性工作者且極具商業價值與發展潛能的產業,最初可說是出自於一位女性之手,也就是前面出現過的勒芙蕾絲,因為在科技史上,勒芙蕾絲常被視為是世界上最早的程式設計師。

七歲的勒芙蕾絲肖像畫。(Alfred d'Orsay, Public Domain, Wikimedia Commons)

一位數學家的誕生

勒芙蕾絲是英國著名詩人拜倫(George Gordon Byron)唯一的婚生子女,但是在她的母親安娜貝拉(Anne Isabella Noel Byron)刻意安排之下,她並沒有走上和父親一樣的文學創作之路。

勒芙蕾絲的母親對於她成長過程至關重要,熱愛數學的安娜貝拉在婚前被拜倫稱為「平行四邊形公主」,但是在這段婚姻的後期,信仰虔誠而且生活保守的安娜貝拉由於無法忍受拜倫的放浪行徑,決定帶著勒芙蕾絲回到娘家居住。為了不放任孩子成為像父親那般行事總引發爭議的浪子,安娜貝拉鼓勵年幼的勒芙蕾絲培養對於數學和科學邏輯的研究愛好,並投入時間鑽研,這對勒芙蕾絲日後的成就打下了穩健基礎。

安娜貝拉認為數學是訓練思維的好科目,因此花費很多精力關注勒芙蕾絲的數學學習。即使安娜貝拉非常重視數學,但年僅六歲的勒芙蕾絲其實更喜歡地理,算術對當時的她來說,只是勉強學習以取悅母親的工具。當安娜貝拉發現勒芙蕾絲更喜歡地理而不是算術後,她便堅持抽換一節地理課為算術課,不久後連當時的家教老師也被撤換了。安娜貝拉不斷地向她女兒施加壓力,讓勒芙蕾絲長時間學習數學。雖然有時會給予獎賞,但也常有懲罰,或讓勒芙蕾絲寫下諸如「我,愛達,沒有把筆記做得很好,但我明天會努力做得更好。」等悔過書。

勒芙蕾絲的數學教育由多位私人家教承擔,1833年,勒芙蕾絲透過家教認識了當時在劍橋大學擔任教授的英國數學家-被後世稱為「電腦之父」的巴貝奇(Charles Babbage)。雖然當時的巴貝奇已過不惑之年,與勒芙蕾絲相差了20 多歲,但憑藉著兩人對於數學的熱誠與才華,他們在工作上成為了亦師亦友的夥伴關係。而在巴貝奇身邊協助研究的這段時間,勒芙蕾絲被巴貝奇設計的一種計算器-差分機(difference engine)深深吸引,並於後續投入他的另一項發明-分析機(analytical engine)的研究,正式開啟了勒芙蕾絲與程式設計的連結。

巴貝奇提出了差分機與分析機的設計概念,它們的設計具有現代電腦的基本要素,分析機也被認為是早期電腦的雛形,巴貝奇因此被視為電腦先驅。而勒芙蕾絲和巴貝奇在技術性工作中運用到的大部分高等數學知識,則來自於她在1840 ~ 1841 年間與英國數學家及邏輯學家迪摩根(Augustus De Morgan)的非正式函授課程。勒芙蕾絲的數學能力可從這些通信中看出,也經由通信的論文,讓人們看到勒芙蕾絲身為一位數學學習者的進步。之前她所擁有的知識大部分屬於基礎的幾何內容,但此時的勒芙蕾絲突飛猛進,掌握了更高級的微積分主題。而迪摩根的有效教學在這些論文中也一覽無遺,更可以從中看到他是如何溫和地教導勒芙蕾絲,彌補她因為拼拼湊湊的數學教育而導致的知識差距。

有「電腦之父」之稱的英國數學家巴貝奇。(Public Domain, Wikimedia Commons)

勒芙蕾絲預見電腦潛能

巴貝奇的差分機計畫在初期受到英國政府資助,降了過往需要花費龐大精力進行人工計算的開銷。然而,由於最終經費超支龐大,遭到英國政府撤資、剩餘零件熔解回收而告終。之後巴貝奇便開始構想一種可以更廣泛應用的計算機器,也就是分析機。分析機使用的語言類似於當今的組合語言,是一種高度先進的機械計算器,通常被認為是20世紀電子計算機的先驅。儘管巴貝奇自始至終都未能真正做出分析機,但關於分析機的諸多設計細節,都被詳細地記錄在他的圖紙和筆記中。

巴貝奇發明的「分析機」的其中一部分,目前展示於倫敦科學博物館
(Science Museum, London)。
(Charles Babbage, CC BY-SA 2.0, Wikimedia Commons)

1840年,由於缺乏英國政府的資助,巴貝奇轉而尋求其他國家的協助。最終受義大利的科學家邀請,前往當地講授了許多關於分析機設計的講座。當時的其中一位聽眾是義大利數學家米那比亞(Luigi Federico Menabrea),他在聽完分析機的解說後,於1842 年出版了關於分析機的第一篇文章。勒芙蕾絲一直對巴貝奇未開發成功的分析機極感興趣,恰好此時她正在尋思如何為巴貝奇的研究做出貢獻,因此在科學家友人惠斯登(Charles Wheatstone)的邀約下,她開始著手進行該篇文章的翻譯作業。

1842~1843 年間,勒芙蕾絲全心投入翻譯這篇文章,與此同時,巴貝奇也建議她在翻譯內容中加入自己的分析和筆記。最終這篇《查爾斯.巴貝奇所發明的分析機概述》(Sketch of the Analytical Engine Invented by Charles Babbage)的翻譯和筆記,於1843 年被發表在專門翻譯國外科學院、學術團體學報、國外期刊以促進知識交流的《科學回憶錄》(Scientific Memoirs)第三卷上,全文66 頁中共有41 頁是勒芙蕾絲補充的筆記。勒芙蕾絲納入的筆記包含對機器原理的說明,以及一張通常被稱為「第一份電腦程式」的表格。勒芙蕾絲對於分析機未來的潛力探討,還有她最廣為人知的白努利數(Bernoulli number)計算示例來演示機器的操作,都顯示她預見了電腦的潛能,被計算機科學界公認為先驅人物。

勒芙蕾絲認為分析機的特點,以及它能賦予機械裝置廣泛應用的能力,讓分析機能成為執行抽象代數的助力,主要來自於將提花設計原理引入其中,也就是將一種帶有穿孔卡片的設備安裝在緹花織機( jacquard machine)上,方便編織花紋和錦緞織物,透過打孔卡(punched cards)來調節錦緞製造中最複雜的圖案;而差分機中則不存在任何此類內容。勒芙蕾絲認為最恰當的說法是分析機能夠編織代數模式,如同提花織機利用打孔卡讓機器編織出不同花葉圖案一樣,分析機以內含演算規則的各種卡片為載體,便可以從事數與數之間各種依照卡片規則設定的演算執行,更能對數字甚至數字衍生的複雜次生關係做規則運算。在勒芙蕾絲的說明中,只要透過適當的編寫和設定規則,分析機便可以用於算出世界上所有數值⸺不論是實際面或是研究面,甚至在未來的發展中也可以用於編寫音樂。

這些觀點在當時極其創新,並且受到英國科學家們的普遍認同,其中更包含了以研究電磁學聞名的法拉第(Michael Faraday)。巴貝奇暱稱勒芙蕾絲為「數字女巫」(enchantress of numbers),他在寫給法拉第的信中提到,「那個女巫把她的咒語扔到了最抽象的科學上,並用一種少有男性智力(至少在我們自己的國家)所能及的力量來掌握它。」

STEM 女性成就的象徵

勒芙蕾絲對於電腦工程學上的貢獻與推動,跨越了時間和性別的界限。而在1980 年代,美國國防部開發的一種軟體語言就以「Ada」為名以表彰她的成就,這是勒芙蕾絲與法國數學家巴斯卡(Blaise Pascal)以及科學史上其他少數幾位巨人共享的榮譽。時至今日,勒芙蕾絲已被視為STEM 領域女性成就的象徵,也是鼓勵女性參與STEM領域的楷模。


延伸閱讀
1. Luigia Carlucci Aiello, The multifaceted impact of Ada Lovelace in the digital age, Artificial Intelligence, Vol. 235: 58–62, 2016.
2. Christopher Hollings, Ursula Martin & Adrian Rice, The early mathematical education of Ada Lovelace. BSHM Bulletin: Journal of the British Society for the History of Mathematics, Vol. 32(3): 221–234, 2017.
3. J. J. O'Connor & E. F. Robertson, Augusta Ada King, countess of Lovelace, Mac Tutor, https://mathshistory.st-andrews.ac.uk/Biographies/Lovelace/.