顧靜怡
在人們的印象當中,程序員幾乎都是男人,埃達·洛夫萊斯卻是個例外。她是世界上第一位“碼農”,是數字時代的先驅,但她的骨子里透著詩人般的激情。在微軟產品里,人們很容易找到這位集幻想和理智、浪漫和嚴謹于一身的數學才女的全息圖標簽。
1815年,埃達出生在英國倫敦。她的父親是詩人拜倫,母親是一名業(yè)余數學家。埃達從小就天資聰穎,喜歡拉小提琴,還喜歡制作船模,有著極高的數學天賦,曾打算設計以蒸汽機為動力的飛機。母親為了不讓她像詩人父親一樣“瘋狂”,竭力鼓勵她學習數學。
事實上,埃達對數學也是情有獨鐘。她學習刻苦、善于觀察,敢于質疑,對新知識有著執(zhí)著的探索精神。18歲那年,她結識了當時正研制差分機的劍橋大學教授查爾斯·巴貝奇,對差分機產生了濃厚興趣,經常向他請教差分機的工作原理,請他教授自己更多的數學知識。
1840年,埃達隨巴貝奇到意大利講學,向人們推廣分析機的概念,并由法語翻譯成了英語。1842年到1843年,埃達又翻譯了某意大利數學家對巴貝奇最新的計算機設計書所留下的備忘錄。在翻譯的過程中,埃達遇到了很多困難,卻始終沒有放棄,她歷盡病痛、困苦,熬過寒冬、酷暑,心中的執(zhí)念和興趣的驅使,使她堅定地向前走。
她一邊翻譯,一邊以注釋筆記的形式加入自己的思考和想法,留下了較原文三倍長的筆記。其中包含了她提出的循環(huán)和子程序的概念,以及她編寫的對計算伯努利數的算法,而這段算法也是歷史上第一個計算機程序。
她以獨有的“詩意科學”思考分析機,研究人和社會如何透過科技協(xié)同工作。更難得的是,當所有人對這樣一臺未做成實體,僅停留在想象和紙面上的機器只著眼于數學運算力時,埃達已經開始了她的編程之旅。她預見到了分析機更廣泛的前景,設計了一個過程、一組規(guī)則以及一系列運算。盡管在當時,算法、循環(huán)、條件、分支、遞歸這些與編程概念有關的術語統(tǒng)統(tǒng)還沒有被發(fā)明出來,但埃達已深刻地理解了這些名詞背后的實質。
她創(chuàng)造出了巴貝奇未曾想到的新構想,為計算機程序擬定了“算法”的概念,提出并建立了循環(huán)和子程序的概念,戲稱“機器咬尾巴——團團轉”,并宣稱這種有編程和記憶功能的機器具有“無限的可能性”。在1843年的一篇論文中,埃達還大膽地預言計算機未來將廣泛運用于創(chuàng)作音樂、制圖和處理復雜的科學研究。誰也沒想到,她的這個設想比世界上第一臺計算機的誕生整整提前了103年。由于在程序設計上的開創(chuàng)性工作,埃達成了世界上第一位程序員,被人們稱為“數字女巫”。
為了紀念埃達對現代電腦與軟件工程所作出的重大貢獻,1980年,美國國防部以她的名字命名和制作了一個新的高級計算機編程語言——Ada。Ada語言形成了新一派的Ada文化,成了迄今最復雜、最完備的軟件工具,被公認為第四代計算機語言的主要代表。
更讓人刮目相看的是,Ada 語言成為美國國防部指定的唯一可用于軍用系統(tǒng)開發(fā)的語言,英國計算機學會每年都會頒發(fā)以埃達命名的軟件工程創(chuàng)新大獎。
只因夢想,只為興趣。埃達把自己天馬行空的想象力和對數字的著迷聯(lián)系在了一起。從對詩歌和數學的熱愛中,她看到了計算機背后的魅力所在,成了一位詩人一樣的“碼農”。
(李金鋒摘自《傳奇故事·百家講壇》2021年第11期)