技術與社會發(fā)展到現(xiàn)在,我們不難發(fā)現(xiàn),現(xiàn)代人的生活已經(jīng)與計算機及其衍生的科學緊緊聯(lián)系在一起。算法、數(shù)據(jù)、代碼……90后與00后似乎天生懂得這些語匯,甚至成為了互聯(lián)網(wǎng)的“原住民”。
那么,在科學技術史的洪流中,是誰敲下第一行代碼?誰是史上第一位程序員?用程序來運行計算機的奇思妙想又是怎樣形成的?對于這些問題,商務印書館的新書《埃達·洛夫萊斯:史上第一位程序員》,應該可以給出充分的回答。
《埃達·洛夫萊斯:史上第一位程序員》,[英]克里斯托弗·霍林斯、[英]厄休拉·馬丁、[美]阿德里安·賴斯 著,柯遵科、單雯 譯,商務印書館2021年8月版。
幼時的埃達已經(jīng)對數(shù)學產(chǎn)生很大興趣
本書共分為九章,第一章概述了埃達·洛夫萊斯所在時代的科學進步,尤其是濃厚的數(shù)學學習氛圍,為她的數(shù)學天賦做出注腳;二至九章回顧了埃達的成長歷程,從她的數(shù)學童年講起,到她與導師和同行業(yè)者的學術交流,以及最終寫出第一套程序的過程和對后世的影響。作者展示了大量的檔案、重要通信材料、數(shù)學模型和繪圖等,為我們勾勒了史上第一位程序員埃達·洛夫萊斯短暫而又絢爛的一生。書中也有大量數(shù)學原理和公式,但譯者通過準確而詩意的語言,將之融入具體的情節(jié)中,讓看似高難的數(shù)學也變得平易近人起來。因此,在閱讀時,讀者可以將之當成一本人物傳記,也可以當成一本數(shù)學科普讀物,享受數(shù)學的神秘與奇妙。
埃達·洛夫萊斯,1815年生于倫敦,浪漫主義詩人拜倫之女,自幼對數(shù)學興趣濃厚。后雖成為尊貴的伯爵夫人,但她并不滿足于夫人社交,而是與科學家交往甚密。哪怕生活在19世紀上半葉,當時的女性地位無法與今日相提并論,埃達還是用自身的努力在科學史上寫下屬于自己的一筆。她編寫的首套“程序”于1843年發(fā)表。她也因此常被稱為“第一位程序員”。
作者在為埃達作傳時的最大特點,不是簡單按照時間線敘述埃達的個人經(jīng)歷,而是將她時時刻刻放在所處的時代之中,用歷史的眼光考量女性科學家在當時出現(xiàn)的原因和意義。
本書的第二章的題目是“數(shù)學童年”。而在這之前,作者描繪了一個科學的時代,甚至可以稱之為“數(shù)學時代”。那時,不僅是科學精英,而且有越來越多的普通人,不論男女都熱衷于了解新思想。特別是數(shù)學的地位日益提高,人們逐漸意識到數(shù)學的重要性和它在研究自然現(xiàn)象及社會現(xiàn)象中所起的作用。有機會接受教育的年輕人,都學過代數(shù),會解簡易的方程,或是在天文觀測過程中接觸過幾何學。
埃達就是成長于這樣一個數(shù)學時代。幼時“聰慧開朗”的埃達已經(jīng)對數(shù)學產(chǎn)生很大興趣。五六歲時,在家庭教師的指導下“她已經(jīng)可以做五六行數(shù)字的求和,計算過程有條不紊,準確無誤。”十歲時,她在與母親的通信中就開始請教“三數(shù)法則”(即等比關系)。十二歲時,埃達開始接觸歐幾里得幾何,“覺得有趣極了”。雖然她承認“有點害怕定理”,但她也下定決心“盡我所能,大膽地戰(zhàn)勝它們”。作者用很多細節(jié)證明:埃達是一個聰慧、好奇又頑強的孩子,她注定會繼續(xù)學習更高級的數(shù)學,并樂在其中。
長大后,在給母親的朋友威廉·金博士的求助信中,埃達表達了她學習純數(shù)學課程的渴望,其中要包括算術、代數(shù)和幾何。因為她并不滿足于當時慣用的學習方法——通過死記硬背歐幾里得幾何學的部分內(nèi)容來應付考試。埃達還結(jié)識了瑪麗·薩默維爾,后者大概是當時英國僅有的能靠數(shù)學賺錢的女性,也是首批入選英國皇家天文學會的女會員。哪怕在結(jié)婚之后,埃達與薩默維爾也維持了很長時間的通信。作者提及這些人,固然是要表現(xiàn)埃達的杰出,但在那個時代,即使埃達擁有財富、地位和獨立的思想,還有一位支持她的丈夫相伴,甚至與同時代的男性和女性科學精英交往甚密,她還是受制于當時的社會和家庭對她的期望,不得不仰仗朋友才能獲得科學教育。
埃達身上最值得書寫和記錄的地方是什么?
與埃達同時代的男性科學家,特別是她的兩位老師——以“德·摩根定律”而聞名至今的奧古斯都·德·摩根和發(fā)明“分析機”的查爾斯·巴貝奇,名氣都比埃達大得多。那么,在這樣的背景下,埃達身上最值得書寫和記錄的地方是什么?作者的觀點是:埃達·洛夫萊斯的數(shù)學成就彰顯她精益求精的科研態(tài)度,致力于從基本原理出發(fā)解決問題和攻克重大問題的決心。
埃達與老師德·摩根的通信,清楚地記錄了埃達在最初基礎數(shù)學時遇到的困難,以及她如何在克服困難的過程中學習。埃達有時感覺“我耗費的時間都是徒勞的”,也抱怨過某些方程式“完全是胡扯”。但是她最終還是掌握了如何學習:學習得慢慢來,從錯誤中學習,并對自身能力有一個現(xiàn)實判斷。作者分析,從一開始,埃達就有一種求知若渴、積極向上的勁頭,甚至有些操之過急,“真希望我能學得再快一點”。但是經(jīng)過德·摩根的指導,埃達終于明白應該慢慢來。
在數(shù)學知識與日俱增之后,埃達甚至能夠指出老師德·摩根的錯誤,認為他對于“等價形式的永恒性原理”的假設有很大漏洞。讓作者認為最神乎其神的,是埃達對“永恒性原理”的質(zhì)疑,這成功預測了“四元數(shù)”的提出,進而推動了“矢量”的發(fā)展。由此可見,她已經(jīng)能夠發(fā)現(xiàn)連專家們都忽略的數(shù)學難題。當然,有些研究成果并不能歸功于埃達,但是她最初的驚人預測無不顯示出超乎常人的洞察力。
埃達還和德·摩根討論過“級數(shù)”“運算”“無差別”“伯努利數(shù)”的幾篇文章,字里行間,無不展現(xiàn)她日益積累的數(shù)學知識和非凡的理解力。信中討論的問題日后將成為埃達唯一出版過的著作的主題。
可能是遺傳了父親的詩意,埃達的數(shù)學研究充滿了想象力。在探討彩虹背后的理論時,她已經(jīng)能夠想到“是不是因為觀看者的眼睛剛好在彩虹弧線所在圓的中心?”埃達甚至考慮過寫數(shù)學詩:“這是一種獨特的詩歌形式,可能要比世界上任何事物更哲學、更高級”。她在給母親的信中說道:“想必您不會同意我寫什么哲學詩歌,一定會說這簡直違背常理!哪有什么詩意的哲學、詩意的科學?”這段話非常有名,充分體現(xiàn)了埃達數(shù)學思維的廣度。
埃達最為人知的成就:為分析機編程
在本書的第七章,作者詳細介紹了埃達為分析機編程的過程。這也是埃達最為人知的成就。
埃達的另一位導師查爾斯·巴貝奇,在當時想創(chuàng)造一種新型計算機器——分析機。它的原理與現(xiàn)在計算機的基礎操作及運算一致。也就是說,分析機應該是一臺艾倫·圖靈所謂的機械式通用計算機,其編程通過打孔卡實現(xiàn)。
巴貝奇在一次演講中將分析機的原理介紹到歐洲大陸。意大利科學家路易吉·梅納布雷亞據(jù)此撰寫了一份法語科學報告《分析機概論》。埃達與巴貝奇共同翻譯了這篇文章。文章共計66頁,其中41頁注釋都是埃達完成的。注釋以字母A到G標記,其中最著名的是“注釋G”,介紹分析機如何通過計算伯努利數(shù)完成編程。這一過程用一張巨大的數(shù)表來表示。
這張數(shù)表被視為“第一個計算機程序”,埃達則給出了更精確的描述:“這張表實現(xiàn)了運算過程中,機器各部分的所有連續(xù)變化”。換句話說,這個數(shù)表就是當今計算機科學家口中的“執(zhí)行跟蹤”。如果當時有“程序”,那么分析機的“程序”應該由一張穿孔卡片組成,從而保證機器連續(xù)運行?!斗治鰴C概論》的譯文不僅彰顯了埃達對數(shù)學細節(jié)的執(zhí)著,也體現(xiàn)出她在思考更宏大圖景上的想象力。
作者也承認,埃達這篇文章在那個時代難免曲高和寡。但在近兩個世紀之后,文章讀起來卻通俗易懂。它涵蓋代數(shù)、數(shù)學、邏輯甚至哲學知識,有對通用計算機不變原理的介紹,還有對所謂“第一個計算機程序”的詳細描述,和對數(shù)據(jù)、卡片、內(nèi)存、編程實踐的概述。
埃達·洛夫萊斯“注釋G”中的數(shù)表“圖解分析機計算伯努利數(shù)”,即“最早的計算機程序”。
令人遺憾的是,在寫完“注釋G”后不到十年,埃達·洛夫萊斯就因為疾病纏身英年早逝,年僅36歲。誠然,她的一生并沒有取得什么有深遠意義的數(shù)學成就——從未做出任何重大的數(shù)學或科學發(fā)現(xiàn)。但是正如本書中的書信和手稿所示,埃達對數(shù)學的洞察力和理解力,對那個時代的女性而言幾乎是獨一無二的。這樣看來,埃達的詩作《彩虹》,可能是她一生最好的寫照:“一束隱秘的光永不熄滅,以最純粹的色彩,穿透云層!”
因此,在本書最后,作者在為埃達沒有做出更大成就而遺憾的同時,更多的是在贊頌她所取得的成就,并為讀者提出了一個值得反思的問題:為何在那個時代不乏才華橫溢的女性,有機會取得成就的卻屈指可數(shù)?相信對于這個問題,每一個讀到《埃達·洛夫萊斯:史上第一位程序員》的讀者,都會有自己的答案。
作者丨孫思清
舉報郵箱:jubao@people.cn
違法和不良信息舉報電話:010-65363263
由《環(huán)球人物》雜志社有限公司主管、主辦
Copyright ? 2015-2024 globalpeople.com.cn.
版權所有:環(huán)球人物網(wǎng)