格麗絲·賀伯

美国的计算机科学家和美国海军军官

格麗絲·梅莉·賀伯(英語:Grace Murray Hopper,1906年12月9日—1992年1月1日),本名格麗絲·布魯斯特·梅莉(英語:Grace Brewster Murray),賀伯(Hopper)為夫姓,生於美國紐約州紐約市,美國海軍準將及電腦科學家,世界最早一批的程式設計師之一,也是最早的女性程式設計師之一。她是哈佛一型電腦上第一個專職程式設計師,創造了現代第一個編譯器A-0 系統,以及第一個進階商用電腦程式語言COBOL,被譽為「COBOL之母」。她也是2000年問題的創造者。她培育出許多程式語言專家,被人稱為「不可思議的格麗絲」(Amazing Grace雙關語[a]

格麗絲·梅莉·賀伯
(Grace Murray Hopper)
格麗絲·賀伯(Grace Hopper)
出生(1906-12-09)1906年12月9日
 美國紐約州紐約市
逝世1992年1月1日(1992歲—01—01)(85歲)
 美國維珍尼亞州阿靈頓縣
軍種 美國海軍
服役年份1943-1966,1967-1971,1972-1986
軍銜準將
獲得勳章國防部傑出服役勳章
功績勳章英語Legion of Merit
服役有功獎章英語Meritorious Service Medal (USA)
美國戰役獎章英語American Campaign Medal
第二次世界大戰勝利獎章
國防部服役獎章
武裝部隊預備役獎章
海軍預備役勳章英語Naval Reserve Medal
1984年的賀伯

電腦術語「除錯排錯」(debug)便是她的同袍在哈佛二型的繼電器上發現一隻飛蛾造成短路,才正式成為電腦程式的專有用語。

她是美軍第一個獲得準將頭銜的女性,美國海軍驅逐艦賀伯號驅逐艦以她來命名。組態於國家能源研究科學計算中心英語National Energy Research Scientific Computing Center超級電腦Cray XE6英語Cray XE6,便是以賀伯命名,以表彰她的貢獻。耶魯大學也有賀伯學院以紀念之。

生平

 
1960年在UNIVAC鍵盤前的賀伯

賀伯出生於紐約市,進大學之前,就讀於私立沃德羅+哈特睿智學校英語Wardlaw-Hartridge School。1928年大學畢業於瓦薩學院並取得數學與物理雙學士學位,在校期間也是美國大學優等生榮譽學會英語Phi Beta Kappa成員。大學畢業後隨即進入耶魯大學研究所就讀,於1930年取得碩士學位,1934年取得數學博士學位,論文為《新型不可約性判斷准則》(New Types of Irreducibility Criteria)。賀伯取得博士學位後,回到瓦薩學院任教。

 
1983年賀伯被升為海軍準將

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

1944年7月,她從位於史密斯學院的預備軍官學校畢業。以海軍少尉的階級,加入軍方在哈佛大學展開的哈佛一型計劃,在霍華德·艾肯手下工作,成為在這台電腦上第一個專職程式設計師。

為了節省硬件成本,格麗絲·賀伯在哈佛一型電腦上,決定以6位數字來儲存時間,即年、月、日各兩位。這個習慣被COBOL繼承,之後傳播到其他程式語言及作業系統中,這也是日後2000年問題危機的起源。

1945年,盟軍勝利,第二次世界大戰結束。格麗絲·賀伯辭去瓦薩學院的教職,留在哈佛大學,繼續研究程式開發。

1949年,進入埃克特-莫齊利電腦公司英語Eckert–Mauchly Computer Corporation,擔任資深數學家,開發通用自動電腦1號。1950年,雷明頓蘭德公司併購了埃克特-莫奇萊電腦公司,但格麗絲·賀伯仍然繼續在這邊開發通用自動電腦1號。

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

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

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

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

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

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

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

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

家庭

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

1976年,文森·賀伯病逝。

軼事

1947年9月9日,格麗絲·賀伯的同袍在哈佛二型電腦內發現了第一隻真正的蟲子。[1] 當時哈佛二型老是出錯,大家仔細檢查程式仍找不出錯誤,最後才發現原來是一隻飛蛾意外飛入電腦內部的繼電器而造成短路(如圖所示)。他們把這隻飛蛾移除後便成功讓電腦正常運作,並在日記本中記錄下了這一事件。「蟲子」(bug,程式錯誤)很早以前就用來比喻機器中的瑕疵,經此事件後,才正式成為電腦程式除錯的專門用語。現在在華盛頓美國歷史國家博物館中還可以看到紀錄檔本中的飛蛾殘骸。[1]

 
第一次被發現的導致電腦錯誤的飛蛾,也是第一個電腦程式錯誤

名言

賀伯留下許多名言。

當她開始自行開發編譯器時,並沒有得到高層的許可。她說:

賀伯對年輕人說:

腳註

  1. ^ Amazing Grace的典故來自於基督教聖詩《奇異恩典

參考文獻

  1. ^ 1.0 1.1 Log Book With Computer Bug. The National Museum of American History. [2015-02-02]. (原始內容存檔於2017-03-23) (英語).