格麗絲·賀伯
格麗絲·梅莉·賀伯(英語:Grace Murray Hopper,1906年12月9日—1992年1月1日),本名格麗絲·布魯斯特·梅莉(英語:Grace Brewster Murray),賀伯(Hopper)為夫姓,生於美國紐約州紐約市,美國海軍準將及電腦科學家,世界最早一批的程式設計師之一,也是最早的女性程式設計師之一。她是哈佛一型電腦上第一個專職程式設計師,創造了現代第一個編譯器A-0 系統,以及第一個進階商用電腦程式語言COBOL,被譽為「COBOL之母」。她也是2000年問題的創造者。她培育出許多程式語言專家,被人稱為「不可思議的格麗絲」(Amazing Grace,雙關語)[a]。
格麗絲·梅莉·賀伯 (Grace Murray Hopper) | |
---|---|
出生 | 美國紐約州紐約市 | 1906年12月9日
逝世 | 1992年1月1日 美國維珍尼亞州阿靈頓縣 | (85歲)
軍種 | 美國海軍 |
服役年份 | 1943-1966,1967-1971,1972-1986 |
軍銜 | 準將 |
獲得勳章 | 國防部傑出服役勳章 功績勳章 服役有功獎章 美國戰役獎章 第二次世界大戰勝利獎章 國防部服役獎章 武裝部隊預備役獎章 海軍預備役勳章 |
電腦術語「除錯排錯」(debug)便是她的同袍在哈佛二型的繼電器上發現一隻飛蛾造成短路,才正式成為電腦程式的專有用語。
她是美軍第一個獲得準將頭銜的女性,美國海軍驅逐艦賀伯號驅逐艦以她來命名。組態於國家能源研究科學計算中心的超級電腦Cray XE6,便是以賀伯命名,以表彰她的貢獻。耶魯大學也有賀伯學院以紀念之。
生平
編輯賀伯出生於紐約市,進大學之前,就讀於私立沃德羅+哈特睿智學校。1928年大學畢業於瓦薩學院並取得數學與物理雙學士學位,在校期間也是美國大學優等生榮譽學會成員。大學畢業後隨即進入耶魯大學研究所就讀,於1930年取得碩士學位,1934年取得數學博士學位,論文為《新型不可約性判斷准則》(New Types of Irreducibility Criteria)。賀伯取得博士學位後,回到瓦薩學院任教。
1943年,第二次世界大戰期間,她志願加入美國海軍後備集團軍,在美國海軍女兵預備役服役。她體重過輕,不符合軍方標準,但因戰時人力短缺,軍方仍然決定讓她入伍。
1944年7月,她從位於史密斯學院的預備軍官學校畢業。以海軍少尉的階級,加入軍方在哈佛大學展開的哈佛一型計劃,在霍華德·艾肯手下工作,成為在這台電腦上第一個專職程式設計師。
為了節省硬件成本,格麗絲·賀伯在哈佛一型電腦上,決定以6位數字來儲存時間,即年、月、日各兩位。這個習慣被COBOL繼承,之後傳播到其他程式語言及作業系統中,這也是日後2000年問題危機的起源。
1945年,盟軍勝利,第二次世界大戰結束。格麗絲·賀伯辭去瓦薩學院的教職,留在哈佛大學,繼續研究程式開發。
1949年,進入埃克特-莫齊利電腦公司,擔任資深數學家,開發通用自動電腦1號。1950年,雷明頓蘭德公司併購了埃克特-莫奇萊電腦公司,但格麗絲·賀伯仍然繼續在這邊開發通用自動電腦1號。
通用自動電腦1號原本的設計目的,是用來作單純數值運算,但格麗絲·賀伯發覺這台機器的能耐不止於此。當時程式是直接以機械碼方式撰寫,她認為可以在通用自動電腦1號上面開發程式,使人們以接近英文寫作的方式來寫出程式。她提出開發高階程式語言的想法,自行着手研究,並四處演講,尋求經費與支援。1951年至1952年間,格麗絲·賀伯在通用自動電腦1號上開發出第一套編譯器A-0 系統,能將程式原始碼編譯為機械碼。之後又接續開發了A-1與A-2。
1954年,格麗絲·賀伯被任命為自動程式部門的經理。她領導她的部門成員,開發出程式語言MATH-MATIC與FLOW-MATIC。海軍採用了FLOW-MATIC,但因為海軍旗下的各公司自行發展編譯器,使得程式出現不相容。格麗絲·賀伯開發了一套程式Validation,用來確認程式是不是用同一套編譯器來編譯的,以確保程式運作正常。
1959年,為了解決編譯器不一致的問題,在五角大廈的推動下,軍方與民間專家召開了美國數據系統語言協會,由格麗絲·賀伯擔任首席技術顧問。在這兩天的會議中通過了新的程式語言標準,這就是COBOL的由來。COBOL主要採用FLOW-MATIC的語法,但同時也由IBM發展的COMTRAN語言中採用了一些新的想法。因為COBOL大幅借用了格麗絲·賀伯的原始設計,所以她也被視為是「COBOL 之母」。
1967年至1977年間,美國海軍資訊系統計劃辦公室所屬的美國海軍程式語言小組,由格麗絲·賀伯擔任經理職位。她開發了COBOL驗證軟件與編譯器,成為美國海軍COBOL標準化程式的一部份。
1970年代,格麗絲·賀伯提出計劃,勸告美國國防部放棄原本集中化的大型中央電腦系統,改成使用許多分散式的小型電腦,電腦與電腦之間以網絡連結。小型電腦連上網絡之後,就可以存取在網絡上共同的資料庫。為了保證安全性,她實作了測試電腦系統以及它各個元件的測試標準,多數是針對早期的程式語言,如FORTRAN與COBOL。在1980年代,格麗絲·賀伯提出的測試標準,成為美國國家標準技術研究所採用的預設標準。
1966年,格麗絲·賀伯年屆60歲,升任海軍中校。但因為到達美國軍方的服役年齡上限,格麗絲·賀伯依法退休。1967年,在退伍六個月後,因為美國海軍部發現他們無法處理那些程式,緊急召回了格麗絲·賀伯,改變原有的規章,讓她重新入伍。1971年,格麗絲·賀伯再度退休,但在1972年,美國軍方再度召回格麗絲·賀伯。在1973年,在艾爾墨·朱瓦特將軍的提名下,她升任海軍上校。
1983年,在美國眾議院的提議下,美國總統列根通過特別命令,任命格麗絲·賀伯為海軍準將。眾議院特別批准讓她延長服役年限,繼續參與軍方計劃。1986年8月14日,格麗絲·賀伯正式退役,成為美國退伍年紀最大的軍人。
在從軍方退役之後,格麗絲·賀伯擔任迪吉多公司資深顧問,一直到她1992年過世為止。
家庭
編輯1930年,與文森·賀伯(Vincent Hopper)結婚。文森·賀伯後來成為紐約大學教授。1945年,兩人離婚。格麗絲·賀伯之後未曾再婚,仍然保持冠夫姓。
1976年,文森·賀伯病逝。
軼事
編輯1947年9月9日,格麗絲·賀伯的同袍在哈佛二型電腦內發現了第一隻真正的蟲子。[1] 當時哈佛二型老是出錯,大家仔細檢查程式仍找不出錯誤,最後才發現原來是一隻飛蛾意外飛入電腦內部的繼電器而造成短路(如圖所示)。他們把這隻飛蛾移除後便成功讓電腦正常運作,並在日記本中記錄下了這一事件。「蟲子」(bug,程式錯誤)很早以前就用來比喻機器中的瑕疵,經此事件後,才正式成為電腦程式除錯的專門用語。現在在華盛頓的美國歷史國家博物館中還可以看到紀錄檔本中的飛蛾殘骸。[1]
名言
編輯賀伯留下許多名言。
當她開始自行開發編譯器時,並沒有得到高層的許可。她說:
“ | 請求原諒,總是比得到許可更容易。 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. |
” |
腳註
編輯參考文獻
編輯- ^ 1.0 1.1 Log Book With Computer Bug. The National Museum of American History. [2015-02-02]. (原始內容存檔於2017-03-23) (英語).