gh

誰是 Grace?

誰是 Grace?

誰是 Grace?

近年來 Nvidia 總是以科學家做為處理器架構的名稱,來向他們致敬。例如 2016 年的帕斯卡 (Pascal)2017 年的伏打 (Volta)2018 年的圖靈 (Turing),以及 2020 年的安培 (Ampere)。但前幾天發表的新一代處理器架構取名為葛蕾斯 (Grace),讓很多人滿臉問號,不知道這是何方神聖。

葛蕾斯的全名是 Grace Murray HopperHopper 是夫姓,Murray 則是結婚前原來的姓氏。她離婚後便一直維持單身,但仍繼續沿用夫姓,並未更動。這或許是為什麼 Nvidia 這次特地改用她的名字,而不是姓氏,來為產品命名的原因。

葛蕾斯 1906 年出生於紐約,擁有數學博士學位。美國加入二次世界大戰後,熱血的葛蕾斯辭去大學教職,於 1943 年進入海軍預備軍官學校受訓。第二年她以第一名的成績畢業,官拜上尉,卻被派往哈佛大學,向海軍少校艾肯 (Howard Aiken) 報到。葛蕾斯頓時傻眼,自己特意投筆從戎,怎麼繞了一圈,又要重返校園?

原來艾肯博士是剛竣工的電腦「哈佛一號」(Harvard Mark I) 的設計者。他與葛蕾斯相反,是被徵召入伍,才不得不離開哈佛大學的。艾肯一心想要心血結晶回到自己手中,因此極力鼓吹這台電腦的威力,成功促成海軍徵用哈佛一號,他也如願代表海軍前往接管。艾肯看上葛蕾斯的數學背景,希望她為哈佛一號編寫程式,進行彈道之類的計算。

當時寫程式可不是像現在這樣,看著螢幕,在鍵盤上輸入類似英文語法的指令。首先,你沒辦法用鍵盤直接輸入程式,必須在紙帶上的不同位置打洞,再將這卷打孔紙帶餵給哈佛一號。(這已經不錯了,同時間美國陸軍委託賓州大學打造的電腦 ENIAC,還不能讀紙帶,必須插拔一堆電纜線呢。)

更麻煩的是,你只能寫電腦懂的「機器語言」,告訴它哪些繼電器要開或關。這當然非常麻煩又容易出錯,於是葛蕾斯努力將撰寫程式系統化,最後寫出世上第一本程式設計手冊。

二次大戰結束後,海軍委託艾肯開發後續機種,葛蕾斯也以預備軍官的身分,繼續留在哈佛大學協助。有一天,葛蕾斯的同袍發現哈佛二號總是出錯,卻又看不出程式哪裡有問題,最後才發現原來是一隻蛾停在繼電器上造成短路。後來電腦程式的除錯工作叫做 ”debug”,據信就是源自於此。許多文章(包括中文維基百科)誤把這件事歸之於葛蕾斯,也應該 debug 一下。

1949 年,葛蕾斯加入 ENIAC 的兩位發明人莫奇利 (John Mauchly) 與艾科特 (J. Presper Eckert) 所創的電腦公司。她深知用機器語言撰寫程式的痛苦與不便,決定開發一套轉換系統,自動將邏輯和數學符號轉換成機器語言。這樣一來,數學家不用瞭解電腦的硬體線路,也可以撰寫程式。葛蕾斯於 1952 年完成這個轉換系統「A-0」,可算是史上第一個「編譯器」(compiler)

不過葛蕾斯更希望不是只有數學家才能當程式設計師。如果程式語言可以採用一般英文的語法,而不是各種數學符號,那麼不用懂太多數學也能撰寫程式。於是葛蕾斯於 1955 年推出第一個基於英文語法的程式語言「FLOW-MATIC」,讓更多人都能成為程式設計師。

葛蕾斯攝於 1978 年。圖片來源:Lynn Gilbert / 維基共享資源 (Wikimedia Commons)

雖然基於英文語法的高階語言讓寫程式變得比較簡單,但各家電腦公司都有一套自家電腦專用的語言,彼此不能互通,使得開發應用軟體的成本居高不下。於是美國國防部於 1959 年出面召開會議,廣邀業者共同制定一套商業用途為主的資料處理語言,也就是第一個通用的程式語言 COBOL。由於它主要參考了 FLOW-MATIC 的語法,加上葛蕾斯是這場會議的技術顧問,因此也有人認為葛蕾斯是「COBOL 之母」。

1966 年,葛蕾斯因年滿 60 歲,自海軍後備隊退役,但幾個月後又被徵召協助整合海軍的電腦系統,直到 79 歲才以准將的官階光榮退休,成為最高齡退役的美國部隊軍官。葛蕾斯退而不休,隨即擔任迪吉多電腦 (Digital Equipment Corporation) 的顧問,直到 1992 年過世為止。

從第一本程式設計手冊、第一個編譯器,到第一個採用英文語法的程式語言,葛蕾斯因為在電腦上的卓越貢獻,而獲獎無數。不過她曾在一次頒獎典體上表示:「若要問我最引以為傲的成就是什麼,答案是我過去曾教導過的那些年輕人。這比寫出第一個編譯器重要多了。」

其實她幫助的豈僅止於她親自教導過的人。現在那麼多年輕人可以成為程式設計師,也是間接受惠於她一生為程式設計的普及所做的努力。

  • 標題圖片:葛蕾斯。圖片來源:美國海軍歷史與遺產司令部 (Naval History and Heritage Command)。
Share on facebook
Share on twitter

更多文章

© 2021 張瑞棋