格蕾絲·赫柏
計算機軟體工程第一夫人
格徠蕾絲·赫柏(Grace Hopper),於1906年出生於美國紐約,是傑出的計算機科學家,計算機軟體工程第一夫人,作為Cobol語言的主要設計者,格蕾絲·赫柏被稱為Cobol之母。1934年獲得耶魯大學數學博士學位,美國海軍將軍。格蕾絲·赫柏是著名的女數學家和計算機語言領域的領軍人物。
格蕾絲·赫柏
格蕾絲·赫柏
有一次,格蕾絲使用的MarkⅡ機出了故障。出錯的繼電器找到了,故障的原因也找到了:裡面有一隻死蛾子。蛾子被用鑷子夾了出來,她們用膠條貼在記錄This is the first actual bug found。”(這是發現的第一隻蟲子。)bug這個詞後來成為計算機領域裡的一個習慣說法。
她決心證明她能夠讓計算機做她能夠規定的任何工作。到1954年,一個人帶來一些函數,他已經算了6個月,讓格蕾絲算出前15個導數。18分鐘后,她就把導數交給了這個人。格蕾絲證明了:計算機不僅是數學儀器,當進行數值運算時,它控制運算符號,當進行數據處理時,它控制數據處理符號。
格蕾絲·赫柏
從1959年開始,格蕾絲和同事一起設計Cobol計算機語言,Cobol使用的句法和術語更接近自然英語。Cobol將程序和數據截然分開,因此,如果編程員要改變程序,他只需要改變前面編寫的程序部分,不必全改。這種語言有顯著的文件處理能力,它支持順序文件和直接存取文件,特別適用於管理存儲在磁帶或磁碟上的大量數據。
1944年2月,世界著名的大型電磁式自動計算機Mark-Ⅰ在美國哈佛大學啟動。為這台長15米、高2.4米,自重30多噸的龐然大物編製程序的,是當時為數不多的女程序員之一、海軍中尉格蕾絲·霍波(Grace Hopper ,1906-1992)博士。霍波天才的創造和發明,至今仍在廣為流傳的有兩個:一個是計算機界通用的術語“臭蟲”(Bug);另一個就是家喻戶曉的“千年蟲”(Y2K)。她更加輝煌的業績在於,她是計算機語言領域的開拓者,她被稱作“計算機軟體之母”。
格蕾絲·赫柏
少年霍波是出了名的“假小子”。在家鄉溫特沃斯湖畔,樹木茂盛,湖水清澈,她經常帶著兩個妹妹一起爬樹、划船、游泳、捉迷藏。最像男孩性格的,是這個女孩對什麼事情都愛尋根究底,只要發現不了解的東西,總想把它們拆開看個究竟。她母親清楚地記得,格蕾絲七歲那年,為了弄懂“鍾為什麼朝一個方向轉”的奇怪問題,她把家裡的七台鐘——從小號的台式鍾直到大號的座鐘,全部給拆了個七零八落,零件擺滿了房間,卻無法把它們還原。類似的事情經常發生,也常因此受到母親的懲罰——罰她在家裡挑花刺繡。
一天,她又被關在家中,心煩意亂,淚眼蒙蒙。不知什麼時候,父親已坐在她的身旁。父親慈愛地摸著她的頭說:“孩子,想要做成任何事都必須有耐心,有毅力,還要細心。你媽媽讓你學繡花,其實是想培養你的這些品質。”格蕾絲點點頭,認為父親說得在理,從此後,她竭力做到既能“動”又能“靜”,並喜歡上了看書和彈鋼琴。
格蕾絲·赫柏
就在上中學期間,霍波的家庭發生了變故:她父親患了動脈硬化症,雙腿被切除,家庭的經濟驟然緊張起來。母親勇敢地承擔起養家的責任,憑著出色的幾何學才能,謀到了一份工作。霍波則一邊學習,一邊照顧父親,盡量減輕家庭負擔。16歲那年,霍波中學畢業,拉丁文考試沒有及格,不能進入大學。父母都沒有責備她,他們認為女兒年齡還小,多讀一年書沒有壞處。於是,她被送進新澤西州一所寄宿學校補習功課,直到第二年秋天才如願以償考進韋莎(Vassar)學院就讀。
格蕾絲·赫柏
第二次世界大戰爆發是霍波生命中的一個轉折點。1943年,滿懷著愛國熱情,她義無返顧地加入婦女自願救護組織,放棄了多年奮鬥才得到的優裕生活。這時的霍波已是30多歲的中年人,而且有了自己的家庭,但是她堅決要求加入海軍,成為一名正式的軍人。參軍是要經過考試的,無論是身高還是體重,她沒有一項合格。霍波才不管這些,死磨硬纏說服了考官,讓她進入海軍學校學習,並以第一名的成績畢業。
剛佩上海軍中尉肩章,她幸運地被任命為著名計算機專家霍德·艾肯(H.Aiken)博士的助手,參與Mark Ⅰ計算機的研製。她後來回憶說:“我成了世界上第一台大型數字計算機的第三名程序員。”從此,格蕾絲·霍波走上了軟體大師的成功之路。
霍波的主要任務是編寫程序,她為MarkⅠ,以及後續機器MarkⅡ、Mark Ⅲ編寫出大量軟體。有趣的是,霍波在軟體設計領域的第一項重大“發明”,竟是創造出一個著名的計算機術語——“bug”。1946年,她在發生故障的MarkⅡ計算機的繼電器觸點裡,找到了一隻被夾扁的小飛蛾,正是這隻小蟲子“卡”住了機器的運行。霍波順手將飛蛾夾在工作筆記里,並詼諧地把程序故障稱為“bug”。bug的意思是“臭蟲”,而這一奇怪的稱呼,後來演變成計算機行業的專業術語。雖然現代電腦再也不可能夾扁任何飛蛾,大家還是習慣地把排除程序故障叫做Debug(除蟲)。
在為Mark系列計算機工作期間,霍波也表現出她獨有的機智,有一件小事很能說明這一點。那一次,正當她在機器前工作時,突然闖進來一群檢查工作的將軍。MarkⅠ計算機早不壞晚不壞,偏偏在這時又有“臭蟲”作怪,帶領將軍們參觀的艾肯博士,急的頓時變了臉色。只見霍波不慌不忙,斜靠在機器上,用手按著電鈕不放,以便讓機器能夠繼續運行。這些將軍們離開時一致認為,他們是這台機器沒有任何故障的目擊者。
格蕾絲·赫柏的編程手稿
1949年,她加盟第一台電子計算機ENIAC發明人莫契利和埃克特創辦的公司,為世界上第一台儲存程序的商業電腦UNIVAC編寫了許多軟體,開始第一次使用所謂“簡短指令代碼“。
1952年,在斯佩里·蘭德公司兼任系統工程師,她率先研製出世界上第一個編譯程序A-O,能夠將類似英語的符號代碼轉換成計算機能夠識別的機器指令,並發表了第一篇關於編譯器的論文。到了50年代中期,她又開發出Flow-Matic語言,為COBOL高級語言誕生創造了基礎。
1959年5月,在五角大樓支持下,她領導著一個工作委員會,成功地研製出第一個商用編程語言COBOL。COBOL語言最重要的特徵是語法與英文很接近,可以讓不懂電腦的人也能看懂程序;編譯器軟體只需做少許修改,就能運行於任何類型的電腦。1963年,美國國家標準局將它進行了標準化。用COBOL寫作的軟體,要比其他語言多得多,霍波博士也因此被譽為計算機語言領域的先驅人物。
50年代計算機存儲器非常昂貴,為了節省內存空間,霍波開始採用6位數字來儲存日期,即年、月、日各兩位。隨著COBOL語言的影響日愈擴大,這一習慣做法被人們沿用下來,到2000年前,居然變成了危害甚大的“千年蟲”,這當然是霍波始料不及的事。
格蕾絲·赫柏將軍
霍徠波生活在一個充滿變化的時代,為了時刻激勵自己創新意識,她在辦公室牆上掛了一個逆時針轉動的大鐘。她也經常告誡青年人,不必害怕困難,必須勇於創新。她堅信,現在的青年會比他們這輩人更勇敢地面對問題。美國海軍部門為了照顧她的身體,曾多次動員她退休,但每次都不得不將她重新請回來,因為離開了這位博學多才的軟體大師,許多事情根本無法運轉。
1985年11月,霍波升為海軍將軍(少將軍銜),她是美國第一個到達這個官階的女性。由於這超過了美國法律規定的軍官服役年齡,美國國會還專門通過了的法案使對霍波的任命合法化。直到1986年,霍波才以80歲高齡從海軍退休,繼續擔任DEC公司資深顧問。在波士頓,美國海軍以最高規格為她舉行了退休儀式。在告別演說中,霍波將軍仍然關注著未來:“我們年青的人民是屬於未來的,我們必須為他們創造未來。”
為表彰她對美國海軍的卓越貢獻,美國海軍將一艘驅逐艦命名為“格蕾絲號”;加利福尼亞海軍數據處理中心也改稱“霍波服務中心”。
1980年,霍波獲得國際IEEE組織頒發的首屆計算機先驅獎。
1991年,布希總統在白宮授予霍波"全美技術獎",這也是至今美國女性唯一獲此殊榮的人。
霍波一生還獲得許多殊榮,如計算機科學年度人物獎、國家技術獎等、海軍功勛服務獎、國防部卓越服務獎等等。
1971年,為了紀念現代數字計算機誕生25周年,美國計算機學會特別設立了“格蕾絲·霍波獎”,頒發給每年最優秀的30歲以下的青年計算機工作者,因此,“霍波獎”也是全球電腦界“少年英雄”的標誌。
格蕾絲·霍波珍惜生命,她希望能夠活到94歲,即新世紀來臨的那一天。然而,1992年1月1日,女將軍在睡夢中再也沒有醒來。
在阿靈頓美國國家公墓,霍波的身邊放滿了勳章和鮮花,她是世界婦女的楷模,也是計算機界備受崇敬的軟體大師。