愛達·洛夫雷斯檢視原始碼討論檢視歷史
愛達·洛夫雷斯(ADA洛夫萊斯,奧古斯塔艾達王,洛夫萊斯伯爵夫人,原名:奧古斯塔ADA拜倫,1815年12月10日-1852年11月27日),出生於英國倫敦,通稱愛達·洛夫雷斯(Ada Lovelace),是著名英國詩人拜倫之女,最著名的事跡為翻譯意大利人查爾斯·巴貝奇早期的程式設計書《分析機概論》(analytical engine),愛達對翻譯查爾斯·巴貝奇的《分析機概論》所留下的筆記,被認為對現代電腦與軟件工程造成了重大影響。被稱為世界上第一位程序員。[1]
經歷
愛達·洛夫雷斯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年發表的一篇論文裡,阿達認為機器今後有可能被用來創作複雜的音樂、製圖和在科學研究中運用,這在當時確是十分大膽的預見。以現在的觀點看,阿達首先為計算擬定了「算法」,然後寫作了一份「程序設計流程圖」。這份珍貴的規劃,被人們視為「第一件計算機程序」。[2]
Ada語言
以她名字命名的語言——ada語言已經成為了美國軍方開發戰鬥機等尖端武器的語言。
Ada是一種表現能力很強的通用程序設計語言,它是美國國防部為克服軟件開發危機,耗費巨資,歷時近20年研製成功的。它被譽為第四代計算機語言的成功代表。美國國防部之所以把這種語言取名為Ada,是為了紀念奧左斯特·艾達·洛夫萊斯伯爵夫人(Augusta Ada Lovlace,1815-1852),她是英格蘭詩人拜倫(Byron)勳爵的女兒,曾對現代計算機技術之父查爾斯·巴貝奇(Charles Babage,1791-1871)的筆記、手稿進行了整理和修正。從某種意義上說,她是世界上第一位計算機程序員。與其他流行的程序設計語言不同,Ada語言不僅體現了許多現代軟件的開發原理,而且將這些原理付諸實現。因此,Ada語言的使用可大大改善軟件系統的清晰性、可靠性、有效性、可維護性。
Ada最初設計時關注於3個最重要的問題:程序的穩定性和可維護性,程序設計和人的行為接近,並且高效。這份語言的修訂版是為了提供更大的靈活性和擴展性,存儲管理的額外控制和同步,以及標準化的程序包以支持重要的應用程序領域,同時保留原來的重點。對於程序設計語言促進可靠性和簡化維護難度的需求已被確立。因此程序可讀性的重要性高於輕鬆地寫代碼。例如,語言規則要求程序變量應當明確聲明並指定它們的類型。由於變量的數據類型是不變的,編譯器可以確保對於變量的操作適用於該類型的對象。另外,有錯誤傾向的符號已經避免,並且語言語法避免了編碼形式的使用,使更傾向於英語的結構。
最後,Ada語言提供了程序單元單獨編譯的功能,使程序開發和維護簡便,同樣也提供了在一個單元內多個單元之間的檢測。考慮人類程序員的問題也在設計時被強調。總而言之,在繼續避免過多複雜句型的缺陷的同時,嘗試以一致系統的方式保持相對較少的底層概念。
Ada語言最初設計是為了構建長周期的、高度可靠的軟件系統。它提供了一系列功能來定義相關的數據類型(type)、對象(object)和操作(operation)的程序包(package)。程序包可以被參數化,數據類型可以被擴展以支持可重用庫的構建。操作既可以使用方便的順序控制結構,通過子程序(subprogram)來實現,也可以通過包含並發線程同步控制的入口(entry)來實現。Ada 也支持單獨編譯(separate compilation),在物理層上支持模塊性。Ada 包含了很複雜的功能以支持實時(real-time),並發程序設計(concurrent programming)。錯誤可以作為異常(exception)來標示,並可以被明確地處理。Ada 也覆蓋了系統編程(system programming);這需要對數據表示和系統特性訪問的精確控制。
最後,提供了預定義的標準程序包,包括輸入輸出、字符串處理、數值計算的基本函數和隨機數生成。Ada的風格在Pascal語言中得以延續。
Ada是現有的語言中無與倫比的一種大型通用程序設計語言,它是現代計算機語言的成功代表,集中反映了程序語言研究的成果。Ada的出現,標誌着軟件工程成功地進入了國家和國際的規模。在一定意義上說,Ada還刺破了「馮·偌依曼思維模式」 (Von Newman Mind-set) 的桎梏,連同Ada的支持環境(APSE)一起,形成了新一派的所謂Ada文化。它是迄今為止最複雜、最完備的軟件工具。Ada語言是美國國防部指定的唯一的一種可用於軍用系統開發的語言,我國軍方也將Ada作為軍內開發標準(GJB 1383《程序設計語言Ada》)。
計算機科學
在1980年12月10日,美國國防部製作了一個新的計算機編程語言—Ada。
美國國防部標準局為了記念愛達,以她的生日設立了一個編號MIL-STD-1815。
在微軟的產品里也可以找到愛達的全息圖標籤。
英國計算機公會每年都頒發以愛達為名的獎項。
逝世
由於受子宮癌和賭博債務的折磨,有的文獻還說她曾經吸毒,這位悲劇性的人物愛達過早地於1852年11月27日去世,生命周期與她的父親拜倫同樣短促,都只有37歲。最後與她的父親一起,埋葬在諾丁漢郡Hucknall鎮拜倫家族的墓地。 當年36歲。很諷刺的,她與她父親拜倫死於相同年齡,一樣死於治療中的失血過多。她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。依她的遺言,愛達葬於諾丁漢哈克諾的聖 瑪麗亞·抹大拉教堂,長眠在父親的身旁。
影響
在1842年與1843年其間,愛達花了9個月的時間翻譯意大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文裡,她附加許多註記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式;因此,愛達也被認為是世界上第一位程式設計師。不過,傳記作者也因為部份的程式是由巴貝奇本人所撰,而質疑愛達在電腦程式上的原創性。巴貝奇在他所著的《經過哲學家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述敘:
我認為她為米那比亞的備忘錄增加許多註記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進註記里的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的文件,更修正了我先前在程序里的重大錯誤。
愛達的文章創造出許多巴貝奇也未曾提到的新構想,比如愛達曾經預言道:這個機器未來可以用來排版、編曲或是各種更複雜的用途。愛達為計算機程序擬定了「算法」的概念,建立了循環和子程序的概念。在1843年的一篇論文中,愛達大膽地預言了計算機未來將廣泛運用於創作音樂、製圖和處理複雜的科學研究。距離第一台電子計算機ENIAC在美國賓夕法尼亞大學誕生,整整提前了103年。她死後一百年,於1953年,愛達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被認為對現代計算機與軟件工程造成了重大影響。
參考資料
- ↑ 數學不止是男人的戲2018-06-07 來源: 果殼網
- ↑ 英媒評選10大IT怪傑:喬布斯鮑爾默上榜(組圖)2009年07月20日 來源: 新浪網