葛麗絲·霍普

维基百科,自由的百科全书
跳转至: 导航搜索
葛麗絲·穆雷·霍普
(Grace Murray Hopper)
GraceHopper.jpg
葛麗絲·霍普(Grace Hopper)
出生 1906年12月09日(1906-12-09)
美國紐約市
去世 1992年01月01日(85歲)
 美國維吉尼亞州阿靈頓縣
军种 美國海軍
服役年份 1943-1966,1967-1971,1972-1986
軍銜 准將
獲得勳章 國防部傑出服役勳章
功績勳章英语Legion of Merit
服役有功獎章英语Meritorious Service Medal (USA)
美國戰役獎章英语American Campaign Medal
第二次世界大戰勝利獎章
國防部服役獎章
預備役服役獎章英语Armed Forces Reserve Medal
海軍預備役勳章英语Naval Reserve Medal
1984年的霍普

葛麗絲·穆雷·霍普英语Grace Murray Hopper,1906年12月9日-1992年1月1日),本名葛麗絲·布魯斯特·穆雷英语Grace Brewster Murray),霍普(Hopper)為夫姓,生於美國紐約州紐約市,美國海軍准將(Rear admiral)及電腦科學家,世界最早一批的程式設計師之一,也是最早的女性程式設計師之一。她是Harvard Mark I上第一個專職程式設計師,創造了現代第一個編譯器A-0 系統,以及第一个高级商用電腦程式語言「COBOL」,被譽為COBOL之母。著名的计算机术语“Debug”(调试排错)便是她在受到从电脑中驱除蛾子的启发而开始使用的,于是她也被冠以“Debug”之母的称号。她也是Y2K危機的創造者。她培育出許多程式語言專家,被人稱為不可思議的葛麗絲(Amazing Grace)。

她是美國第一個獲得准將頭銜的女性,海軍驅逐艦USS Hopper (DDG-70)以她來命名。配置于NERSC(国家能源研究科学技术机中心)的超級電腦Cray XE6,便是以Hopper命名,以表彰她的貢獻。

生平[编辑]

1960年在UNIVAC键盘前的霍普

霍普出生於紐約市,進大學之前,就讀於私立Wardlaw-Hartridge學校。1928年大學畢業於瓦薩學院(Vassar College)並取得數學物理學士學位,在校期間也是美國資優學生聯誼會(Phi-Beta-Kappa【ΦBK】Society)成員。大學畢業後隨即進入耶魯大學研究所就讀,於1930年取得碩士學位,1934年取得數學博士學位。她的論文為《化約算數等式的新標準》(A new Criterion for Reducibility of Algebraic Equations)在期刊New Types of Irreducibility Criteria正式发表。霍普取得博士學位後,回到瓦薩學院學院任教。

1983年霍普被升为海军准将

1943年,第二次世界大戰期間,她志願加入美國海軍後備軍團,在WAVES服役。她體重過輕,不符合軍方標準,但因戰時人力短缺,軍方仍然決定讓她入伍。

1944年7月,她從位於史密斯學院的預備軍官學校畢業。以海軍少尉的階級,加入軍方在哈佛大學展開的Harvard Mark I計劃,在霍華德·艾肯手下工作,成為在這台電腦上第一個專職程式設計師。9月9日,Harvard Mark I因為不明原因停止運作,葛麗絲·霍普經過仔細檢查後,發現是一隻飛蛾飛進繼電器,造成短路。她將飛蛾的殘骸貼在研發記錄薄上,說她發現一個bug,造成電腦停止運作。此後,在這個部門中,凡是任何引起電腦停止運作的錯誤,都被稱為bug,找出錯誤則稱為debug,這形成日後電腦程式錯誤的名稱起源。

為了節省硬體成本,葛麗絲·霍普在Harvard Mark I上,決定以6位數字來儲存時間,即年、月、日各兩位。這個習慣被COBOL繼承,之後傳播到其他程式語言及作業系統中,這也是日後Y2K危機的最早起源。

1945年,第二次世界大戰結束。葛麗絲·霍普辭去瓦薩學院的教職,留在哈佛大學,繼續研究程式開發。

1949年,進入埃克特-莫奇萊電腦公司(Eckert–Mauchly Computer)公司,擔任資深數學家,開發UNIVAC I。1950年,雷明頓蘭德公司併購了埃克特-莫奇萊電腦公司,但葛麗絲·霍普仍然繼續在這邊開發UNIVAC I

UNIVAC I原本的設計目的,是用來作單純數值運算,但葛麗絲·霍普發覺這台機器的能耐不止於此。當時程式是直接以機器碼方式撰寫,她認為可以在UNIVAC I上面開發程式,使人們以接近英文寫作的方式來寫出程式。她提出開發高階程式語言的想法,自行著手研究,並四處演講,尋求經費與支持。1951年至1952年間,葛麗絲·霍普在UNIVAC I上開發出第一套編譯器A-0 系統,能將程式原始碼編譯為機器碼。之後又接續開發了A-1與A-2。

1954年,葛麗絲·霍普被任命為自動程式部門的經理。她領導她的部門成員,開發出程式語言MATH-MATICFLOW-MATIC。海軍採用了FLOW-MATIC,但因為海軍旗下的各公司自行發展編譯器,使得程式出現不相容。葛麗絲·霍普開發了一套程式Validation,用來確認程式是不是用同一套編譯器來編譯的,以確保程式運作正常。

1959年,為了解決編譯器不一致的問題,在五角大廈的推動下,軍方與民間專家召開了CODASYL,由葛麗絲·霍普擔任首席技術顧問。在這兩天的會議中通過了新的程式語言標準,這就是COBOL的由來。COBOL主要採用FLOW-MATIC的語法,但同時也由IBM發展的COMTRAN語言中採用了一些新的想法。因為COBOL大幅借用了葛麗絲·霍普的原始設計,因為她也被視為是COBOL之母。

1967年至1977年間,美國海軍資訊系統計畫辦公室所屬的美國海軍程式語言小組,由葛麗絲·霍普擔任經理職位。她開發了COBOL驗證軟體與編譯器,成為美國海軍COBOL標準化程式的一部份。

1970年代,葛麗絲·霍普提出計畫,勸告美國國防部放棄原本集中化的大型中央電腦系統,改成使用許多分散式的小型電腦,電腦與電腦之間以網路連結。小型電腦連上網路之後,就可以存取在網路上共同的資料庫。為了保證安全性,她實作了測試電腦系統以及它各個元件的測試標準,多數是針對早期的程式語言,如FORTRAN與COBOL。在1980年代,葛麗絲·霍普提出的測試標準,成為美國國家標準技術研究所採用的預設標準。

1966年,葛麗絲·霍普年屆60歲,升任海軍中校(Commander)。但因為到達美國軍方的服役年齡上限,葛麗絲·霍普依法退休。1967年,在退伍六個月後,因為美國海軍部發現他們無法處理那些程式,緊急召回了葛麗絲·霍普,改變原有的規章,讓她重新入伍。1971年,葛麗絲·霍普再度退休,但在1972年,美國軍方再度召回葛麗絲·霍普。在1973年,在Elmo Zumwalt將軍的提名下,她升任海軍上校(Captain)。

1983年,在美國眾議院的提議下,美國總統雷根通過特別命令,任命葛麗絲·霍普為海軍准將。眾議院特別批准讓她延長服役年限,繼續參與軍方計劃。1986年8月14日,葛麗絲·霍普正式退役,成為美國退伍年紀最大的軍人。

在從軍方退役之後,葛麗絲·霍普擔任迪吉多公司資深顧問,一直到她1992年過世為止。

家庭[编辑]

1930年,與文森·霍普(Vincent Hopper)結婚。文森·霍普後來成為紐約大學教授。1945年,兩人離婚。葛麗絲·霍普之後未曾再婚,仍然保持冠夫姓。

1976年,文森·霍普病逝。

轶事[编辑]

1947年9月9日,葛麗絲·霍普发现了第一个电脑上的bug。[1] 当在Harvard Mark II计算机上工作时,整个团队都搞不清楚为什么电脑不能正常运作了。经过大家的深度挖掘,发现原来是一隻飛蛾意外飛入了一臺電腦內部而引起的故障(如圖所示)。这个团队把错误解除了,并在日记本中记录下了这一事件。也因此,人们逐渐开始用“Bug”(原意为“虫子”)来称呼计算机中的隐错。现在在华盛顿美国历史国家博物馆中还可以看到这个遗稿。[2]

第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误

名言[编辑]

霍普留下許多名言。

當她開始自行開發編譯器時,並沒有得到公司高層的許可。她說:「請求原諒,總是比得到許可更容易。」(It's always easier to ask forgiveness than it is to get permission. )

霍普對年輕人說,「停在港口的船很安全,但那不是我們造船的目的。」(A ship in port is safe, but that is not what ships are built for. )

参考文献[编辑]