人物簡介
計算機業最傑出女性,Cobol語言設計者,美國海軍少將。設計第一個編譯程式,發現世界上第一個BUG!也是千年蟲Y2K製造者。
傑出的計算機科學家格蕾絲是Cobol語言的主要設計者之一,被稱為Cobol之母。她於1906年出生在紐約市。她祖父是美國海軍少將(她本人後來也成了海軍少將)。1934年獲得數學博士學位。1943年,她像成千上萬的美國婦女一樣加入軍隊,被分配到隸屬於哈佛大學的一個研究所,參與第一代計算機相關的研究項目。
她使用的Mark I機在當時是個奇蹟,能在一秒鐘內進行3次加法運算,這在40年代堪稱超高速運算。美國武器系統當時正依賴於快速計算。格蕾絲在MarKI機上工作最困難的經歷是為它撰寫操作手冊。
有一次,格蕾絲使用的MarkⅡ機出了故障。出錯的繼電器找到了,故障的原因也找到了:裡面有一隻死蛾子。蛾子被用鑷子夾了出來,她們用膠條貼在記錄This is the first actual bug found。”(這是發現的第一隻蟲子。)bug這個詞後來成為計算機領域裡的一個習慣說法。
她決心證明她能夠讓計算機做她能夠規定的任何工作。到1954年,一個人帶來一些函式,他已經算了6個月,讓格蕾絲算出前15個導數。18分鐘後,她就把導數交給了這個人。格蕾絲證明了:計算機不僅是數學儀器,當進行數值運算時,它控制運算符號,當進行數據處理時,它控制數據處理符號。
1957年,她設計的Flow-matic系統完成了,被稱作B--0。這是第一個英語數據處理的編譯程式,也是第一個運用詞語的計算機語言。後來,Flow-mafic被吸收進Cobol這個廣為使用的商業計算機語言,這是格蕾絲的一大貢獻。
從1959年開始,格蕾絲和同事一起設計Cobol計算機語言,Cobol使用的句法和術語更接近自然英語。Cobol將程式和數據截然分開,因此,如果編程員要改變程式,他只需要改變前面編寫的程式部分,不必全改。這種語言有顯著的檔案處理能力,它支持順序檔案和直接存取檔案,特別適用於管理存儲在磁帶或磁碟上的大量數據。
1944年2月,世界著名的大型電磁式自動計算機Mark-Ⅰ在美國哈佛大學啟動。為這台長15米、高2.4米,自重30多噸的龐然大物編製程序的,是當時為數不多的女程式設計師之一、海軍中尉格蕾絲·霍波
(Grace Hopper ,1906-1992)博士。霍波天才的創造和發明,至今仍在廣為流傳的有兩個:一個是計算機界通用的術語“臭蟲”(Bug);另一個就是家喻戶曉的“千年蟲”(Y2K)。她更加輝煌的業績並沒有被公眾所了解,事實上,她是計算機語言領域的開拓者,也有人把她稱作“計算機軟體之母”。
格蕾絲·霍波1906年出生於美國紐約一個中產家庭,父親瓦特·莫利(W .Murray)是保險經紀人,祖父是紐約一位資深的工程師。母親瑪麗(H. Mary)雖然是家庭婦女,卻很喜歡數學,這一點在當時是受社會輿論支持的,因為人們認為婦女喜歡數學,有利於管理家庭財務。母親的數學愛好,自然給霍波的成長帶來相當大的影響;但她最喜歡的人,卻是慈祥的曾祖父亞力山大——美國海軍的退休將軍,小格蕾絲常常坐在他的腿上,撫摸軍服上的各種裝飾,瞪大眼睛,聽老人講驚險的戰鬥故事。這些,可能就是她選擇海軍作為自己終身職業的原因。
少年霍波
少年霍波是出了名的“假小子”。在家鄉溫特沃斯湖畔,樹木茂盛,湖水清澈,她經常帶著兩個妹妹一起爬樹、划船、游泳、捉迷藏。最像男孩性格的,是這個女孩對什麼事情都愛尋根究底,只要發現不了解的東西,總想把它們拆開看個究竟。她母親清楚地記得,格蕾絲七歲那年,為了弄懂“鍾為什麼朝一個方向轉”的奇怪問題,她把家裡的七台鐘——從小號的台式鍾直到大號的座鐘,全部給拆了個七零八落,零件擺滿了房間,卻無法把它們還原。類似的事情經常發生,也常因此受到母親的懲罰——罰她在家裡挑花刺繡。
一天,她又被關在家中,心煩意亂,淚眼蒙蒙。不知什麼時候,父親已坐在她的身旁。父親慈愛地摸著她的頭說:“孩子,想要做成任何事都必須有耐心,有毅力,還要細心。你媽媽讓你學繡花,其實是想培養你的這些品質。”格蕾絲點點頭,認為父親說得在理,從此後,她竭力做到既能“動”又能“靜”,並喜歡上了看書和彈鋼琴。
霍波的父親是個很開明的人,他沒有男孩,只有三個可愛的女兒,但他希望女兒們也像男孩那樣獲得受教育的機會,要求她們擺脫傳統觀念束縛,樹立遠大的志向,不要依賴父母。不久,他就把大女兒霍波送進了一所私立女子中學。雖然學校要求女學生保持文靜的“淑女”形象,可霍波仍堅持體育運動,不僅打籃球,還學會了曲棍球和水球。
就在上中學期間,霍波的家庭發生了變故:她父親患了動脈硬化症,雙腿被切除,家庭的經濟驟然緊張起來。母親勇敢地承擔起養家的責任,憑著出色的幾何學才能,謀到了一份工作。霍波則一邊學習,一邊照顧父親,儘量減輕家庭負擔。16歲那年,霍波中學畢業,拉丁文考試沒有及格,不能進入大學。父母都沒有責備她,他們認為女兒年齡還小,多讀一年書沒有壞處。於是,她被送進新澤西州一所寄宿學校補習功課,直到第二年秋天才如願以償考進韋莎(Vassar)學院就讀。
霍波的才華到了大學終於得到充分的展示。她很快就在自然科學,特別是數學和物理方面表現出超群的能力。1928年她獲得美國優等生的榮譽。同年,取得數學物理學士學位,留校擔任了教師,被聘為韋莎學院的副教授。利用所獲得的獎學金,霍波再次考進著名的耶魯大學深造。1930年,她獲得耶魯大學數學碩士學位;1934年成為耶魯大學歷史上第一位女數學博士。
第二次世界大戰爆發是霍波生命中的一個轉折點。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語言最重要的特徵是語法與英文很接近,可以讓不懂電腦的人也能看懂程式;編譯器軟體只需做少許修改,就能運行於任何類型的電腦。委員會一個成員害怕這種語言的命運不會太長久,特地為它製作了一塊小小的墓碑。然而,COBOL語言卻倖存下來。1963年,美國國家標準局將它進行了標準化。用COBOL寫作的軟體,要比其他語言多得多,霍波博士也因此被譽為計算機語言領域的先驅人物。
50年代計算機存儲器非常昂貴,為了節省記憶體空間,霍波開始採用6位數字來儲存日期, 即年、月、日各兩位。隨著COBOL語言的影響日愈擴大,這一習慣做法被人們沿用下來,到2000年前,居然變成了危害巨大的“千年蟲”,這當然是霍波始料不及的事。
霍波一生沒有子女,但她非常熱愛孩子。由於自己的成功來自於刻苦的努力和自小受到的良好教育,所以她特別重視對年青人的教育。她曾經為青年學生作過近千場演講,講述計算機的未來,她將在講演中獲得的紀念品和酬金都無償捐獻給了她熱愛的海軍。她常常對人說:“我一生最大的收穫就是我培養的那些年輕人。”
霍波生活在一個充滿變化的時代,為了時刻激勵自己創新意識,她在辦公室牆上掛了一個逆時針轉動的大鐘。她也經常告誡青年人,不必害怕變化,必須勇於創新。她堅信,現在的青年會比他們這輩人更勇敢地面對問題。美國海軍部門為了照顧她的身體,曾多次動員她退休,但每次都不得不將她重新請回來,因為離開了這位博學多才的軟體大師,許多事情根本無法運轉。
直到1986年,已獲得海軍少將軍銜的霍波,才以80歲高齡從海軍退休,繼續擔任DEC公司資深顧問。在波士頓,以美國軍隊的最高規格為她舉行了退休儀式。在告別演說中,霍波將軍仍然關注著未來:“我們年青的人民是屬於未來的,我們必須為他們創造未來。”
為表彰她對美國海軍的貢獻,有一艘驅逐艦被命名為“格蕾絲號”;加利福尼亞海軍數據處理中心也改稱“霍波服務中心”。霍波一生還獲得許多殊榮,如計算機科學年度人物獎、國家技術獎等、海軍功勳服務獎、國防部卓越服務獎等等。1971年,為了紀念現代數字計算機誕生25周年,美國計算機學會特別設立了“格蕾絲·霍波獎”,頒發給當年最優秀的30歲以下的青年計算機工作者。因此,“霍波獎”正是全球電腦界“少年英雄”的標誌。
格蕾絲·霍波珍惜生命,她希望能夠活到94歲,即新世紀來臨的那一天。然而,1992年1月1日,女將軍在睡夢中再也沒有醒來,離她的願望還差8年。在阿靈頓美國國家公墓,霍波的身邊放滿了勳章和鮮花,她是世界婦女的楷模,也是計算機界崇拜的軟體大師。
這一切成就的起點,卻是在她少年時代一連拆散七台鐘的那一刻。