愛達·洛夫雷斯 - 經(jīng)歷
1815年生于倫敦,是她詩人父親拜倫與母親安妮·伊莎貝拉·米爾班奇(Anne Isabella Milbanke)唯一的合法子嗣,母親Anne Isabella Milbanke是一名業(yè)余數(shù)學家。她的名字取自拜倫的異母的姊妹奧古斯塔·李(Augusta Leigh)。拜倫與安妮貝拉的婚事是在奧古斯塔為了避免丑聞,而慫恿拜倫與安妮貝拉結(jié)合的產(chǎn)物。Ada從小對數(shù)學有極高天賦,其父稱她為“平行四邊形公主”,后來的合作伙伴Charles Babbage稱她為“數(shù)字女巫”。
1816年1月16日,安妮貝拉還是離開拜倫,帶著一個月大的愛達離開。同年4月21日,拜倫簽下了分居協(xié)議,并離開英國。愛達從未見過她同父異母的妹妹阿拉格·拜倫(Allegra Byron),阿拉格是拜倫與克萊爾·克萊蒙(Claire Clairmont)所出,但于1822年死去,得年5歲。至于愛達的另一位親戚伊麗莎白·梅朵拉·李(Elizabeth Medora Leigh,是奧古斯塔·李之女)則有與她照過面,并由愛達的母親告知愛達與梅朵拉彼此的身世。愛達·洛夫雷斯是世界上第一個寫程序的人。
19歲時Ada嫁給了William King(曾經(jīng)是Ada的科學家庭教師,De Morgan也是),婚后一共生育了3個孩子。Ada在婚后依然對數(shù)學熱情不減,1842年到1843年花了9個月時間翻譯了Babbage的《分析機概論》的備忘錄,其中寫了很多注記,其中給出了用計算機進行Bernoulli數(shù)求解的詳細說明,由此,Ada被廣泛認為是世界上第一個程序員。
愛達·洛夫雷斯 - 教育
愛達與她的母親同住。她與父親有許多相似的天份,年輕的拜倫小姐對數(shù)學感到極高的興趣(其父稱她為the princess of parallelograms,即平行四邊行公主),數(shù)學占有她人生的絕大部份,即使結(jié)婚之后也是如此。而愛達的母親讓她年輕時就學習數(shù)學一事,卻總是被認為是受到其父拜倫的影響。愛達的數(shù)學與科學課程是由家庭教師威廉·福萊德(William Frend)、威廉·金(William King)與瑪麗·索麥維(en:Mary Somerville)所指導(dǎo),后來更接受奧古斯都·德·摩根的教導(dǎo)。愛達也是一位活躍于倫敦社交圈的女士,這位女士曾在年輕時是女學究(Blue Stockings Society)的會員。
Ada的社交生活十分豐富,著名的小說家Charles Dickens和物理學家Michael Faraday都認識她。她的老師瑪麗·索麥維是一位著名的19世紀科學家,并由這位學者于1833年6月5日介紹給查爾斯·巴貝奇。著名的大衛(wèi)·布魯斯特爵士(Sir David Brewster)、查爾斯·衛(wèi)斯頓(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),不過較簡單的愛達·勒芙蕾絲和婚前名稱愛達·拜倫,是在今天是更廣為人知的名稱。
愛達·洛夫雷斯 - 成就
世界上第一位程序員
愛達設(shè)計了巴貝奇分析機上解伯努利方程的一個程序,并證明當時的19世紀計算機狂人巴貝奇的分析器可以用于許多問題的求解。她甚至還建立了循環(huán)和子程序的概念。由于她在程序設(shè)計上的開創(chuàng)性工作,Ada Lovelace被稱為世界上第一位程序員。當時的阿達甚至不顧自己已是三個孩子的母親,堅定地投身于分析機研究,成為巴貝奇的合作伙伴。在1843年發(fā)表的一篇論文里,阿達認為機器今后有可能被用來創(chuàng)作復(fù)雜的音樂、制圖和在科學研究中運用,這在當時確是十分大膽的預(yù)見。以現(xiàn)在的觀點看,阿達首先為計算擬定了“算法”,然后寫作了一份“程序設(shè)計流程圖”。這份珍貴的規(guī)劃,被人們視為“第一件計算機程序”。
Ada語言
以她名字命名的語言——ada語言已經(jīng)成為了美國軍方開發(fā)戰(zhàn)斗機等尖端武器的語言。
設(shè)計初衷
Ada 語言最初設(shè)計是為了構(gòu)建長周期的、高度可靠的軟件系統(tǒng)。它提供了一系列功能來定義相關(guān)的數(shù)據(jù)類型(type)、對象(object)和操作(operation)的程序包(package)。程序包可以被參數(shù)化,數(shù)據(jù)類型可以被擴展以支持可重用庫的構(gòu)建。操作既可以使用方便的順序控制結(jié)構(gòu),通過子程序(subprogram)來實現(xiàn),也可以通過包含并發(fā)線程同步控制的入口(entry)來實現(xiàn)。Ada 也支持單獨編譯(separate compilation),在物理層上支持模塊性。Ada 包含了很復(fù)雜的功能以支持實時(real-time),并發(fā)程序設(shè)計(concurrent programming)。錯誤可以作為異常(exception)來標示,并可以被明確地處理。Ada 也覆蓋了系統(tǒng)編程(system programming);這需要對數(shù)據(jù)表示和系統(tǒng)特性訪問的精確控制。
最后,提供了預(yù)定義的標準程序包,包括輸入輸出、字符串處理、數(shù)值計算的基本函數(shù)和隨機數(shù)生成。Ada的風格在Pascal語言中得以延續(xù)。
特點
Ada是一種表現(xiàn)能力很強的通用程序設(shè)計語言,它是美國國防部為克服軟件開發(fā)危機,耗費巨資,歷時近20年研制成功的。它被譽為第四代計算機語言的成功代表。美國國防部之所以把這種語言取名為Ada,是為了紀念奧左斯特·艾達·洛夫萊斯伯爵夫人(Augusta Ada Lovlace,1815-1852),她是英格蘭詩人拜倫(Byron)勛爵的女兒,曾對現(xiàn)代計算機技術(shù)之父查爾斯·巴貝奇(Charles Babage,1791-1871)的筆記、手稿進行了整理和修正。從某種意義上說,她是世界上第一位計算機程序員。與其他流行的程序設(shè)計語言不同,Ada語言不僅體現(xiàn)了許多現(xiàn)代軟件的開發(fā)原理,而且將這些原理付諸實現(xiàn)。因此,Ada語言的使用可大大改善軟件系統(tǒng)的清晰性、可靠性、有效性、可維護性。
Ada最初設(shè)計時關(guān)注于3個最重要的問題:程序的穩(wěn)定性和可維護性,程序設(shè)計和人的行為接近,并且高效。這份語言的修訂版是為了提供更大的靈活性和擴展性,存儲管理的額外控制和同步,以及標準化的程序包以支持重要的應(yīng)用程序領(lǐng)域,同時保留原來的重點。對于程序設(shè)計語言促進可靠性和簡化維護難度的需求已被確立。因此程序可讀性的重要性高于輕松地寫代碼。例如,語言規(guī)則要求程序變量應(yīng)當明確聲明并指定它們的類型。由于變量的數(shù)據(jù)類型是不變的,編譯器可以確保對于變量的操作適用于該類型的對象。另外,有錯誤傾向的符號已經(jīng)避免,并且語言語法避免了編碼形式的使用,使更傾向于英語的結(jié)構(gòu)。
最后,Ada 語言提供了程序單元單獨編譯的功能,使程序開發(fā)和維護簡便,同樣也提供了在一個單元內(nèi)多個單元之間的檢測。考慮人類程序員的問題也在設(shè)計時被強調(diào)?偠灾,在繼續(xù)避免過多復(fù)雜句型的缺陷的同時,嘗試以一致系統(tǒng)的方式保持相對較少的底層概念。
意義
Ada是現(xiàn)有的語言中無與倫比的一種大型通用程序設(shè)計語言,它是現(xiàn)代計算機語言的成功代表,集中反映了程序語言研究的成果。Ada的出現(xiàn),標志著軟件工程成功地進入了國家和國際的規(guī)模。在一定意義上說,Ada還刺破了“馮·偌依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的支持環(huán)境(APSE)一起,形成了新一派的所謂Ada文化。它是迄今為止最復(fù)雜、最完備的軟件工具。Ada語言是美國國防部指定的唯一的一種可用于軍用系統(tǒng)開發(fā)的語言,我國軍方也將Ada作為軍內(nèi)開發(fā)標準(GJB 1383《程序設(shè)計語言Ada》)。
愛達·洛夫雷斯 - 逝世
由于受子宮癌和賭博債務(wù)的折磨,有的文獻還說她曾經(jīng)吸毒,這位悲劇性的人物愛達過早地于1852年11月27日去世,生命周期與她的父親拜倫同樣短促,都只有37歲。最后與她的父親一起,埋葬在諾丁漢郡Hucknall鎮(zhèn)拜倫家族的墓地。 當年36歲。很諷刺的,她與她父親拜倫死于相同年齡,一樣死于治療中的失血過多。她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。依她的遺言,愛達葬于諾丁漢哈克諾的圣 瑪麗亞·抹大拉教堂,長眠在父親的身旁。
愛達·洛夫雷斯 - 影響
在1842年與1843年其間,愛達花了9個月的時間翻譯意大利數(shù)學家路易吉·米那比亞對巴貝奇最新的計算機設(shè)計書(即分析機概論)所留下的備忘錄。在這部譯文里,她附加許多注記,內(nèi)容詳細說明用計算機進行伯努利數(shù)的運算方式,而被認為是世界上第一個電腦程式;因此,愛達也被認為是世界上第一位程式設(shè)計師。不過,傳記作者也因為部份的程式是由巴貝奇本人所撰,而質(zhì)疑愛達在電腦程式上的原創(chuàng)性。巴貝奇在他所著的《經(jīng)過哲學家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述敘:
我認為她為米那比亞的備忘錄增加許多注記,并加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最后被寫進注記里的想法確確實實是她自己的構(gòu)想。我將許多代數(shù)運算的問題交給她處理,這些工作也與伯努利數(shù)的運算相關(guān)。在她所送回給我的文件,更修正了我先前在程序里的重大錯誤。
愛達的文章創(chuàng)造出許多巴貝奇也未曾提到的新構(gòu)想,比如愛達曾經(jīng)預(yù)言道:這個機器未來可以用來排版、編曲或是各種更復(fù)雜的用途。愛達為計算機程序擬定了“算法”的概念,建立了循環(huán)和子程序的概念。在1843年的一篇論文中,愛達大膽地預(yù)言了計算機未來將廣泛運用于創(chuàng)作音樂、制圖和處理復(fù)雜的科學研究。距離第一臺電子計算機ENIAC在美國賓夕法尼亞大學誕生,整整提前了103年。她死后一百年,于1953年,愛達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,并被認為對現(xiàn)代計算機與軟件工程造成了重大影響。
計算機科學
在1980年12月10日,美國國防部制作了一個新的計算機編程語言—Ada。
美國國防部標準局為了記念愛達,以她的生日設(shè)立了一個編號MIL-STD-1815。
在微軟的產(chǎn)品里也可以找到愛達的全息圖標簽。
英國計算機公會每年都頒發(fā)以愛達為名的獎項。
大眾文化
在第203集的數(shù)謎(math-mystery)動畫—《數(shù)位追逐》里,就有她的身影出現(xiàn),其配音由的珍·科廷擔當。
愛達是布魯斯·斯特林與威廉·吉布森合著的小說《差分解析儀》(The Difference Engine)的主角。在故事中,她所提出的新構(gòu)想加速了計算機時代的來臨。
約翰·克羅利在他的小說《拜倫的故事》(Lord Byron’s Novel)中,拜倫寫下了自己的故事,卻因亡故而未能完成,之后由其女愛達將故事補齊。
愛達是1997年電影《孕育愛達》里被飾演的主角。
在史考特·衛(wèi)斯特菲爾德的系列作《Midnighters》里,其中一名女性主角的崇拜對象正是愛達,更影響了其中三本系列作的內(nèi)容。