1. 程式人生 > >給計算機寫程式的第一人竟是一位女子

給計算機寫程式的第一人竟是一位女子

來源:https://baike.baidu.com/item/%E9%98%BF%E8%BE%BE%C2%B7%E6%B4%9B%E8%8A%99%E8%8E%B1%E6%96%AF/12010940?fromtitle=Ada%20Lovelace&fromid=6825878

640?wx_fmt=jpeg

就是上圖這位名叫阿達·洛芙萊斯的女子

阿達·洛芙萊斯是誰?

阿達·洛芙萊斯(Ada Lovelace),原名奧古斯塔·阿達·拜倫(Augusta Ada Byron),是著名英國詩人拜倫之女,數學家。

她是計算機程式創始人,建立了迴圈和子程式概念。

她為計算程式擬定“演算法”,寫作了第一份“程式設計流程圖”,被珍視為“第一位給計算機寫程式的人”。為了紀念阿達·奧古斯塔對現代電腦與軟體工程所產生的重大影響,美國國防部將耗費巨資、歷時近20年研製成功的高階程式語言命名為Ada語言,它被公認為是第四代計算機語言的主要代表。

她也是數學牛人

阿達是她詩人父親—拜倫與母親安妮·伊莎貝拉·米爾班奇(Anne Isabella Milbanke)唯一的合法子嗣。她的名字取自拜倫的異母的姐姐奧古斯塔·李(Augusta Leigh)。

據加利福尼亞大學聖迭戈分校的記載,阿達是著名詩人喬治·戈登·拜倫(George Gordon Byron)的女兒,在她出生後不久,她的父母就離異。

她的母親鼓勵她從事數學研究,以避免像她的父親那樣出現“危險的詩人傾向”。

拜倫與安妮貝拉的婚事是在奧古斯塔為了避免醜聞,而慫恿拜倫與安妮貝拉結合的產物。然而,在1816年1月16日,安妮貝拉還是離開了拜倫,帶著一個月大的阿達離開。同年4月21日,拜倫簽下了分居協議,並離開英國。

阿達從未見過她同父異母的妹妹阿拉格·拜倫(Allegra Byron),阿拉格是拜倫與克萊爾·克萊蒙(Claire Clairmont)所出,但於1822年死去,得年5歲。至於阿達的另一位親戚伊麗莎白·梅朵拉·李(Elizabeth Medora Leigh,是奧古斯塔·李之女)則有與她照過面,並由阿達的母親告知阿達與梅朵拉彼此的身世。

阿達與她的母親同住。

她的母親Anne Isabella對數學感到極高的興趣(其夫拜倫稱她為The Princess of Parallelograms,即平行四邊形公主),數學佔有她人生的絕大部分,即使結婚之後也是如此。而阿達的母親Anne讓她年輕時就學習數學一事,卻總是被認為是受到其父拜倫的影響。

阿達的數學與科學課程是由家庭教師威廉·福萊德(William Frend)、威廉·金(William King)與瑪麗·索麥維(en:Mary Somerville)所指導,後來更接受奧古斯都·德·摩根的教導。阿達也是一位活躍於倫敦社交圈的女士,年輕時曾是女學究(Blue Stockings Society)的會員。

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

  1. 拜倫(Byron,生於1836年5月12日)、

  2. 安妮貝拉(Annabella,生於1837年9月22日)

  3. 拉爾夫·戈登(Ralph Gordon,生於1839年7月2日)勒芙蕾絲一家住在瑟瑞(Surrey)的奧坎(Ockham)。

而自婚後,她的頭銜則變成奧古斯塔·阿達,勒芙蕾絲伯爵夫人閣下(The Right Honourable Augusta Ada, Countess of Lovelace),不過較簡單的阿達·勒芙蕾絲和婚前名稱阿達·拜倫。

她的老師瑪麗·索麥維是一位著名的19世紀科學家,並由這位學者於1833年6月5日介紹給查爾斯·巴貝奇。著名的大衛·布魯斯特爵士(Sir David Brewster)、查爾斯·衛斯頓(Charles Wheatstone)、查爾斯·狄更斯與麥可·法拉第也認識她。

數學讓她接觸到了計算機程式

在1842年與1843年其間,阿達花了9個月的時間翻譯義大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文裡,她附加許多註記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式。

因此,阿達也被認為是世界上第一位程式設計師。巴貝奇在他所著的《經過哲學家人生》(Passages from the Life of a Philosopher, 1846)裡留有下面的述敘:

“我認為她為米那比亞的備忘錄增加許多註記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進註記裡的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的檔案,更修正了我先前在程式裡的重大錯誤。”

阿達的文章創造出許多巴貝奇也未曾提到的新構想,比如阿達曾經預言道:“這個機器未來可以用來排版、編曲或是各種更復雜的用途。”

她給計算機帶來的價值被國防部、微軟所認可

她死後一百年,於1953年,阿達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公佈,並被公認對現代計算機與軟體工程造成了重大影響。

  • 在1980年12月10日,美國國防部製作了一個新的高階計算機程式語言——Ada,以紀念阿達·洛芙萊斯。

  • 在微軟的Wins產品裡也可以找到阿達的全息圖標籤。

  • 英國計算機公會每年都頒發以阿達命名的軟體工程創新大獎。 

PS:Ada是一種表現能力很強的通用程式設計語言,它是美國國防部為克服軟體開發危機,耗費巨資,歷時近20年研製成功的。它被譽為第四代計算機語言的最成功代表。

與其他流行的程式設計語言不同,它不僅體現了許多現代軟體的開發原理,而且將這些原理付諸實現。因此,Ada語言的使用可大大改善軟體系統的清晰性,可靠性,有效性,可維護性。Ada的出現,標誌著軟體工程成功地進入了國家和國際的規模。

在一定意義上說,Ada還打破了“馮.偌依曼思維模式” (Von Newman Mind-set) 的桎梏,連同Ada的支援環境(APSE)一起,形成了新一派的Ada文化。它是迄今為止最複雜,最完備的軟體工具。

-END-

 近期熱文:

關注我

640?wx_fmt=jpeg

點選“閱讀原文”,看本號其他精彩內容