史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

她是浪漫主義詩人拜倫之女,

卻在數學方面天賦異稟,對自然科學興趣濃厚;

她是維多利亞時期尊貴的伯爵夫人,

卻不流連於下午茶的社交,而是與科學家交往甚密;

她從未接受過正規教育,

卻以驚人的預見性,成為現代計算機科學的先驅。

她,就是19世紀的英國奇女子、富於洞見的天才數學家,

埃達·洛夫萊斯伯爵夫人

,常被稱為世界上“

第一位程式設計師

”。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

[英]克里斯托弗·霍林斯、[英]厄休拉·馬丁、[美]阿德里安·賴斯 著

柯遵科、單雯 譯

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

這張寫滿數學演算法的巨幅圖表,被視為“第一個計算機程式”,由埃達·洛夫萊斯編寫, 發表於 1843 年的一篇關於“分析機” 的文章中。埃達對此給出精準描述如下:“這張表顯示了運算過程中,機器各部分的所有連續變化。”

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

“分析機”,西德尼·帕多瓦(Sydney Padua)繪製,出自《洛夫萊斯和巴貝奇的驚險冒險》

電影中常見的天才人設,往往僅在某個領域有超乎常人的天賦,其他方面則平平無奇,甚至還有點怪癖。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

《美麗心靈》劇照

但埃達絕非如此。在埃達的成長曆程中,我們可以發現她的愛好相當廣泛,書信內容涉及博物學、農業、天文學、化學、電學、磁學、數學,等等,甚至還有當時流行的催眠術和顱相學。而博物學的啟蒙和興趣之延伸,對埃達的成長也起到了相當重要的推動作用。

// 母親的啟蒙 //

埃達剛滿月時,父母就離異了。

她由母親安妮·伊莎貝拉(又名安娜貝拉) 撫養成人。

拜倫夫人出身貴族家庭,像許多這個階層的女性一樣,從小跟隨私人家庭教師學習,接受了良好的教育。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

拜倫夫人安妮·伊莎貝拉

她師從著名思想家威廉·弗倫德,學習數學和天文學。拜倫曾盛讚夫人為“平行四邊形公主”,其代表作《唐璜》中的唐娜·伊內茲(Donna Inez)一角便是以夫人為原型所塑造:“推算之術是她最心愛的科學”, “她的思想是定律”。拜倫夫人晚年熱衷辦學,是當時頗有威望的

教育改革家

在這樣出色的母親親自引導下,小埃達自幼便有家庭教師,在緊密的日程中安排學習。小埃達的課程表豐富多樣,她在學習過程中對

自然界的許多現象

表現出濃厚的興趣。

有一次,埃達在信中向外出的母親描述了

解剖蜻蜓

的過程:

我們先開啟蜻蜓的腦袋和眼睛,然後開啟嘴,能看到一個極小的粉紅色舌頭。我們剛抓住它放到鏡片下的時候,蜻蜓是活著的,可當我們開啟它的眼睛看到裡面的東西時,它就死了。

埃達也沉迷於

地理

, 她寫道:

地理簡直太迷人了!您知道嗎?挪威有很多原始森林,那裡的海岸線非常險峻,海浪有時候比房子還要高。冰島隨處可見奇山怪石,發出詭異的聲響,有的會噴出火焰,有的還流出液體來。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

和當時的很多人一樣,年輕的埃達·拜倫痴迷於關於火山的報道。她的日記提到了1768年冰島爆發的海克拉火山。

但拜倫夫人覺得讓女兒研究“

博物學的原理

”是非常必要的,因為小埃達“新學的知識僅限於少數孤立的事實。對自然現象的成因及其分類有極大的興趣。培養這種興趣,能讓人有針對性地投入精力,避免因沉溺於情感或抽象的思維習慣導致任何不良影響。”

拜倫夫人對女兒的教育規劃顯然行之有效。小埃達對自然界的關注由現象深入到原理層面。小埃達12歲時,對飛行的嚮往讓她懇請母親找來一本關於

鳥類解剖

的書。她覺得“觀察一隻死烏鴉的翅膀是充滿樂趣的”。埃達迫不及待地向母親展示她用紙、絲綢和羽毛製成的翅膀:

我做的翅膀好得很,不過,您可不要指望看到一對完美對稱的翅膀,可它們足以表達清楚我關於飛行的所有想法。

// 科學家的點撥 //

拜倫夫人的導師威廉·弗倫德儘管年事已高,但也鼓勵小埃達在科學知識的鑽研中

獨立思考,不要依賴書本

。而這種獨立思考的精神,也為埃達在日後深入鑽研數學奠定了堅實的基礎。弗倫德在給拜倫夫人的信中這樣寫道:

拜倫小姐的天文學學得如何?下個月末,將迎來一個觀測木星的良機。希望你有一架不錯的天文望遠鏡,可以趁機描繪這顆行星和其衛星的草圖,並在接下來的幾晚觀察它們的位置變化,想必會很有趣。

運氣好的話,她還可以目睹幾次日食和掩星現象,這絕不是書本上可以學來的。她甚至可以大膽預測即將出現的天文現象,並透過自己的觀察加以證實。

弗倫德的鼓勵讓埃達對

觀察天空

產生了興趣,1834年,在給威廉·弗倫德的信中,埃達談到了“彩虹”:

最近,我對這個話題很有興趣,卻有點摸不著門道。您說,為什麼我們看到的彩虹是圓弧狀

的?

為什麼是曲線,又為什麼是圓而不是其他曲線?

我能搞清楚顏色是如何分離的,也明白不同顏色是最初的入射光線沿不同角度折射形成的。

可是我對霓(副虹)恐怕就不太清楚。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

埃達在寫給弗倫德的信中,討論關於“彩虹”的數學問題

// 科研思維的光芒 //

埃達的丈夫威廉·洛夫萊斯和妻子志趣相投,同樣對科學頗有興趣,尤其愛鑽研農業科學。

1848 年,洛夫萊斯伯爵發表的文章《論氣候與農業的關係》(On Climate in Connection with Husbandry)評述了法國作家阿格諾·德·加斯帕林(Agénor de Gasparin)關於

用不同的數學理論將氣候與農作物產量聯絡起來

的著作。埃達在文中所加的腳註,充分體現了她的科研思維,其中一句是這樣寫的:

要找到反映氣候與植物生長之間關係的普遍規律,必須廣泛收集並積累大量的事實。

她還提議用比利時統計學家阿道夫·奎特萊(Adolphe Quetelet)的數學理論代替加斯帕林的植物生長理論。在這一點上,她與

現代科學家

觀點一致。

埃達理解攝影對科學的重要性,在這方面她也走在了時代前列。她曾寫道:我們相信且從未懷疑過攝影在人類知識程序中起到何等重要的作用。

在腳註中,她建議藉助約翰·赫歇爾的曝光計來研究陽光和植物生長之間的關係。這是一個發條裝置,將相紙置於鏡頭下,當太陽光照射時就能在紙上產生影像。正如埃達所言,該裝置避免了在圖表上記錄常規觀測結果的麻煩。

想象力極為豐富的埃達還曾考慮過寫

數學詩

。她曾告訴丈夫,這個想法定會讓母親大吃一驚。因為這將是“一種獨特的詩歌形式,可能要比世界上任何事物更哲學,更高階”,它會超越“數學天文學的宇宙觀”。

因此,如果她在月球上吟詩,那“主題將會是地球上的生物,或是從月球上所見地球的模樣。這首詩將是一首無比崇高的詩歌,但隻字不提數學和運動原理”。

在給母親的信中,她說道:

想必您不會同意我寫什麼哲學詩歌,一定會說這簡直違背常理!哪裡有什麼詩意的哲學、詩意的科學?

這段話非常有名,它充分體現了埃達

數學思維的廣度

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

埃達寫給母親的信

埃達·洛夫萊斯一生飽受疾病折磨, 晚年又被診

斷出患有子宮癌。她於1852年11月27日 去世,年僅36歲。在生命的最後幾周,儘管病痛纏身,但她還是請人為她畫肖像畫, 要求在她死後將畫像複製贈予朋友們。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

依照其生前遺願,埃達被安葬在諾丁漢郡的赫克諾爾,長眠於父親拜倫身旁。

母親拜倫夫人為她立了一座紀念碑,碑上刻著她寫的一首詩,題為《彩虹》——二十多年前她曾給弗倫德寫信討論彩虹這一大氣現象。

詩的結尾寫道:“一束隱秘的光永不熄滅,以最純粹的色彩,穿透雲層!”

◆ ◆ ◆ ◆ ◆

本期推送的主要內容,摘編自商務印書館的傳記類新書——

《埃達·洛夫萊斯:史上第一位程式設計師》

◎英國浪漫主義詩人拜倫之女埃達·洛夫萊斯成長史;

◎19世紀女性如何以驚人的預見性,成為現代計算機科學先驅;

◎基於未發表的檔案、重要通訊材料、數學模型和繪圖。

本書講述的是一個維多利亞時代女性克服社會壁壘努力求知的故事、史上最早的程式設計師的成長史,書中提供的原始資料檔案,不僅有助於瞭解計算機科學的發展史,也可作為機械發燒友的腦力遊戲。

史上第一位程式設計師是如何誕生的?|1024“程式設計師節”

[英]克里斯托弗·霍林斯、[英]厄休拉·馬丁、[美]阿德里安·賴斯 著

柯遵科、單雯 譯