奧古斯塔·艾達·洛夫萊斯

奧古斯塔·艾達·洛夫萊斯(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奧古斯塔·艾達·拜倫(Augusta Ada Byron),通稱愛達·洛夫雷斯(Ada Lovelace),是著名英國詩人拜倫之女,最著名的事跡為翻譯義大利人查爾斯·巴貝奇早期的程式設計書《分析機概論》(analytical engine),艾達對翻譯查爾斯·巴貝奇的《分析機概論》所留下的筆記,被廣泛認為是第一位程式設計師,對現代電腦與軟體工程造成了重大影響。

基本信息

個人經歷

1815年生於倫敦,是她詩人父親拜倫與母親安妮·伊莎貝拉·米爾班奇(Anne Isabella Milbanke)唯一的合法子嗣,母親Anne Isabella Milbanke是一名業餘數學家。她的名字取自拜倫的異母的姊妹奧古斯塔·李(Augusta Leigh)。拜倫與安妮貝拉的婚事是在奧古斯塔為了避免醜聞,而慫恿拜倫與安妮貝拉結合的產物。Ada從小對數學有極高天賦,其父稱她為“平行四邊形公主”,後來的合作夥伴Charles Babbage稱她為“數字女巫”。

1816年1月16日,安妮貝拉還是離開拜倫,帶著一個月大的愛達離開。同年4月21日,拜倫簽下了分居協定,並離開英國。愛達從未見過她同父異母的妹妹阿拉格·拜倫(Allegra Byron),阿拉格是拜倫與克萊爾·克萊蒙(Claire Clairmont)所出,但於1822年死去,得年5歲。至於愛達的另一位親戚伊莉莎白·梅朵拉·李(Elizabeth Medora Leigh,是奧古斯塔·李之女)則有與她照過面,並由愛達的母親告知愛達與梅朵拉彼此的身世。愛達·洛夫雷斯是世界上第一個寫程式的人。 19歲時Ada嫁給了William King(曾經是Ada的科學家庭教師,De Morgan也是),婚後一共生育了3個孩子。Ada在婚後依然對數學熱情不減,1842年到1843年花了9個月時間翻譯了Babbage的《分析機概論》的備忘錄,其中寫了很多註記,其中給出了用計算機進行Bernoulli數求解的詳細說明,由此,Ada被廣泛認為是世界上第一個程式設計師。

教育

愛達與她的母親同住。她與父親有許多相似的天份,年輕的拜倫小姐對數學感到極高的興趣(其父稱她為the princess of parallelograms,即平行四邊行公主),數學占有她人生的絕大部份,即使結婚之後也是如此。而愛達的母親讓她年輕時就學習數學一事,卻總是被認為是受到其父拜倫的影響。愛達的數學與科學課程是由家庭教師威廉·福萊德(William Frend)、威廉·金(William King)與瑪麗·索麥維(en:Mary Somerville)所指導,後來更接受奧古斯都·德·摩根的教導。愛達也是一位活躍於倫敦社交圈的女士,這位女士曾在年輕時是女學究(Blue Stockings Society)的會員。

Ada的社交生活十分豐富,著名的小說家Charles Dickens和物理學家Michael Faraday都認識她。她的老師瑪麗·索麥維是一位著名的19世紀科學家,並由這位學者於1833年6月5日介紹給查爾斯·巴貝奇。著名的大衛·布魯斯特爵士(Sir David Brewster)、查爾斯·衛斯頓(Charles Wheatstone)、查爾斯·狄更斯與麥可·法拉第也認識她。

家庭

1835年,愛達嫁給了威廉·金(後來晉封為第一代勒芙蕾絲伯爵)。他們總共生下三個孩子:

拜倫(Byron,生於1836年5月12日) 安妮貝拉(annabella,生於1837年9月22日) 拉爾夫·戈登(Ralph Gordon,生於1839年7月2日) 勒芙蕾絲一家住在瑟瑞(Surrey)的奧坎(Ockham)。而自婚後,她的頭銜則變成奧古斯塔·愛達,勒芙蕾絲伯爵夫人閣下(The Right Honourable Augusta Ada, Countess of Lovelace),不過較簡單的愛達·勒芙蕾絲和婚前名稱愛達·拜倫,是在今天是更廣為人知的名稱。

成就

世界上第一位程式設計師

愛達設計了巴貝奇分析機上解伯努利方程的一個程式,並證明當時的19世紀計算機狂人巴貝奇的分析器可以用於許多問題的求解。她甚至還建立了循環和子程式的概念。由於她在程式設計上的開創性工作,Ada Lovelace被稱為世界上第一位程式設計師。當時的阿達甚至不顧自己已是三個孩子的母親,堅定地投身於分析機研究,成為巴貝奇的合作夥伴。在1843年發表的一篇論文裡,阿達認為機器今後有可能被用來創作複雜的音樂、製圖和在科學研究中運用,這在當時確是十分大膽的預見。以現在的觀點看,阿達首先為計算擬定了“算法”,然後寫作了一份“程式設計流程圖”。這份珍貴的規劃,被人們視為“第一件電腦程式”。

向愛達致敬

Ada語言

以她名字命名的語言——ada語言已經成為了美國軍方開發戰鬥機等尖端武器的語言。 Ada 語言最初設計是為了構建長周期的、高度可靠的軟體系統。它提供了一系列功能來定義相關的數據類型(type)、對象(object)和操作(operation)的程式包(package)。程式包可以被參數化,數據類型可以被擴展以支持可重用庫的構建。操作既可以使用方便的順序控制結構,通過子程式(subprogram)來實現,也可以通過包含並發執行緒同步控制的入口(entry)來實現。Ada 也支持單獨編譯(separate compilation),在物理層上支持模組性。Ada 包含了很複雜的功能以支持實時(real-time),並發程式設計(concurrent programming)。錯誤可以作為異常(exception)來標示,並可以被明確地處理。Ada 也覆蓋了系統編程(system programming);這需要對數據表示和系統特性訪問的精確控制。 最後,提供了預定義的標準程式包,包括輸入輸出、字元串處理、數值計算的基本函式和隨機數生成。Ada的風格在Pascal語言中得以延續。 Ada是一種表現能力很強的通用程式設計語言,它是美國國防部為克服軟體開發危機,耗費巨資,歷時近20年研製成功的。它被譽為第四代計算機語言的成功代表。美國國防部之所以把這種語言取名為Ada,是為了紀念奧左斯特·艾達·洛夫萊斯伯爵夫人(Augusta Ada Lovlace,1815-1852),她是英格蘭詩人拜倫(Byron)勳爵的女兒,曾對現代計算機技術之父查爾斯·巴貝奇(Charles Babage,1791-1871)的筆記、手稿進行了整理和修正。從某種意義上說,她是世界上第一位電腦程式員。與其他流行的程式設計語言不同,Ada語言不僅體現了許多現代軟體的開發原理,而且將這些原理付諸實現。因此,Ada語言的使用可大大改善軟體系統的清晰性、可靠性、有效性、可維護性。 Ada最初設計時關注於3個最重要的問題:程式的穩定性和可維護性,程式設計和人的行為接近,並且高效。這份語言的修訂版是為了提供更大的靈活性和擴展性,存儲管理的額外控制和同步,以及標準化的程式包以支持重要的應用程式領域,同時保留原來的重點。對於程式設計語言促進可靠性和簡化維護難度的需求已被確立。因此程式可讀性的重要性高於輕鬆地寫代碼。例如,語言規則要求程式變數應當明確聲明並指定它們的類型。由於變數的數據類型是不變的,編譯器可以確保對於變數的操作適用於該類型的對象。另外,有錯誤傾向的符號已經避免,並且語言語法避免了編碼形式的使用,使更傾向於英語的結構。 最後,Ada 語言提供了程式單元單獨編譯的功能,使程式開發和維護簡便,同樣也提供了在一個單元內多個單元之間的檢測。考慮人類程式設計師的問題也在設計時被強調。總而言之,在繼續避免過多複雜句型的缺陷的同時,嘗試以一致系統的方式保持相對較少的底層概念。 意義 Ada是現有的語言中無與倫比的一種大型通用程式設計語言,它是現代計算機語言的成功代表,集中反映了程式語言研究的成果。Ada的出現,標誌著軟體工程成功地進入了國家和國際的規模。在一定意義上說,Ada還刺破了“馮·偌依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的支持環境(apse)一起,形成了新一派的所謂Ada文化。它是迄今為止最複雜、最完備的軟體工具。Ada語言是美國國防部指定的唯一的一種可用於軍用系統開發的語言,我國軍方也將Ada作為軍內開發標準(GJB 1383《程式設計語言Ada》)。

在計算機科學中

1980年12月10日,美國國防部製作了一個新的計算機程式語言—Ada。 美國國防部標準局為了記念愛達,以她的生日設立了一個編號MIL-STD-1815。 在微軟的產品里也可以找到愛達的全息圖示簽。 英國計算機公會每年都頒發以愛達為名的獎項。

在大眾文化中

在第203集的數謎(math-mystery)動畫—《數位追逐》里,就有她的身影出現,其配音由的珍·科廷擔當。

愛達是布魯斯·斯特林與威廉·吉布森合著的小說《差分解析儀》(The Difference Engine)的主角。在故事中,她所提出的新構想加速了計算機時代的來臨。 約翰·克羅利在他的小說《拜倫的故事》(Lord Byron's Novel)中,拜倫寫下了自己的故事,卻因亡故而未能完成,之後由其女愛達將故事補齊。 愛達是1997年電影《孕育愛達》里被飾演的主角。 在史考特·衛斯特菲爾德的系列作《Midnighters》里,其中一名女性主角的崇拜對象正是愛達,更影響了其中三本系列作的內容。

影響

在1842年與1843年其間,愛達花了9個月的時間翻譯義大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文裡,她附加許多註記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式;因此,愛達也被認為是世界上第一位程式設計師。不過,傳記作者也因為部份的程式是由巴貝奇本人所撰,而質疑愛達在電腦程式上的原創性。巴貝奇在他所著的《經過哲學家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述敘:

我認為她為米那比亞的備忘錄增加許多註記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進註記里的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的檔案,更修正了我先前在程式里的重大錯誤。 愛達的文章創造出許多巴貝奇也未曾提到的新構想,比如愛達曾經預言道:這個機器未來可以用來排版、編曲或是各種更複雜的用途。愛達為電腦程式擬定了“算法”的概念,建立了循環和子程式的概念。在1843年的一篇論文中,愛達大膽地預言了計算機未來將廣泛運用於創作音樂、製圖和處理複雜的科學研究。距離第一台電子計算機ENIAC在美國賓夕法尼亞大學誕生,整整提前了103年。她死後一百年,於1953年,愛達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被認為對現代計算機與軟體工程造成了重大影響。

逝世

由於受子宮癌和賭博債務的折磨(有的文獻還說她曾經吸毒)這位悲劇性的人物愛達過早地於1852年11月27日去世,生命周期與她的父親拜倫同樣短促,都只有37歲。最後與她的父親一起,埋葬在諾丁漢郡Hucknall鎮拜倫家族的墓地。 享年36歲。

很諷刺的,她與她父親拜倫死於相同年齡,一樣死於治療中的失血過多。

她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。依她的遺言,愛達葬於諾丁漢哈克諾的聖 瑪麗亞·抹大拉教堂,長眠在父親的身旁。

相關搜尋

熱門詞條

聯絡我們