你有想過一位高中老師竟然能搖身一變,成為「工程師」的老師嗎?法蘭‧艾倫(Frances Allen)做到了!她不僅是第一位女性 IBM 院士,更是第一位獲得圖靈獎(ACM A. M. Turing Award)的女性。
根據柏克萊大學訊息技術研究中心的榮譽教授 Dr. Ruzena Bajcsy 提到,現今社會中,不論是在商業還是科技上所使用的軟體程式技術,都與法蘭‧艾倫的貢獻有著關聯。獲得圖靈獎的法蘭‧艾倫過去曾協助美國國家安全局(NSA)進行密碼破解,而在二戰期間,協助破譯德國機密軍事密碼的艾倫·圖靈,正是圖靈獎項名稱的由來。兩者之間的巧合,彷彿冥冥之中早已注定。
艾倫以優化電腦軟體和高效能電腦系統而聞名,在軟體編譯領域中也相當具有知名度。在 IBM 工作的 45 年中,她讓軟體設計師能產出更強的代碼(code),這也讓超級電腦和平行運算(parallel computing)快速進步。過去的軟體工程師必須使用和房間一樣大的超大型電腦工作,當時的電腦不僅體型龐大,也相當不方便。除此之外,軟體工程師必須手動畫卡寫程式,並且花許多時間想辦法讓運行速度緩慢的軟體跑得更快。
她多年來致力優化編譯器(Optimizing compiler),奠定現代電腦編譯技術的基礎,讓一般人也能為電腦、手機和網站編寫快速又有用的軟體。究竟她是如何開拓這個領域,又是如何從一位高中老師,變成電腦大師的呢?
成功追到教師夢的農村女孩,進修學習第一手程式知識
法蘭‧艾倫 1932 年 8 月 4 日出生,並成長於一座農場之中,爸爸是農夫、媽媽是老師,而她是家中六個孩子中的老大。她的年少時光,除了讀書,也時常在農場中幫忙,擠奶、農務無所不包。
在高中時期,法蘭‧艾倫深深受到數學老師的啟發,於是決定自己也要成為一位數學老師;立定志向後,她便一步一腳印地朝自己的目標邁進,不僅以優秀的成績從當地高中畢業,更順利進入了紐約州立師範學院(現為紐約州立大學奧爾巴尼分校),獲得了數學學士學位,還輔修了物理與教育學分。
畢業之後,她回到高中母校教了兩年數學,卻在這裡遇到了挑戰。原來,根據當時的制度,法蘭‧艾倫需要獲得碩士學位,才能擁有完整的教師資格認證。於是,她開始進修,先在哥倫比亞大學讀了暑期課程,而後在密西根大學安娜堡分校順利獲得了碩士學位。
正是在這段進修期間,法蘭‧艾倫學習到了不少最新的程式課程,像是跟著 MAD 這種程式語言的共同開發者 Bernard Galler 學習如何編輯第一代真空管計算機 IBM 650。這段歷程,從此為她的人生開拓了一段新的道路。
為還學貸前進 IBM,一待就是 40 年
IBM 在擴張組織之時,致力於召募各種族群的人才,並在密西根校區舉辦了面試。法蘭‧艾倫便接受了 IBM 的邀請,決定進入團隊,好好賺錢還完學貸,再回去當老師。不過,最後在 IBM 一待就待了 45 年!
法蘭‧艾倫在 1957 年 7 月 15 日正式加入 IBM,接下的第一個任務就充滿挑戰。當時,一種稱為「FORTRAN」(福傳語言)的高階程式語言才剛剛發布不到兩個月,而法蘭‧艾倫的工作就是要教 IBM 的科學家們該如何使用這種語言,再推廣給 IBM 的客戶使用。既然要教學生,老師當然得先學會。為了瞭解這種新語言,法蘭‧艾倫讀了 FORTRAN 的原始碼(Source code),後來也表示這些代碼「激發了她對程式編寫的興趣,也奠定了她對編譯器的理解。」
有了 FORTRAN 之後,工程師們再也不用輸入「0」、「1」來操作電腦,而能用更直觀的方式輸入指令,不僅讓程式編寫更加快速方便,也大幅降低了入門門檻。
投入全新程式語言開發,打破電腦界的玻璃天花板
除了進行 FORTRAN 的教學,法蘭‧艾倫更為 IBM Research 開發尖端的程式語言編譯器。艾倫在 1960 年代初投入了 IBM 的「Stretch-HARVEST」計畫,協助美國國家安全局(NSA)進行密碼破解。
美國國家安全局的「Stretch-HARVEST」計畫是為了要分析美國間諜在全球監聽站截獲的訊息。艾倫幫助建立了所用機器的程式語言和編譯器。在電腦設計的早期,編譯器的效能很差。軟體工程師可以在不了解硬體細節的情況下編寫程式,但是當編譯器將程式轉換成 1 和 0 時,就需要花上太多時間、也占用了太多空間。
當時,最早的超級計算機「Stretch」剛剛出現,而為了要處理各式資訊,艾倫與團隊設計了一個編譯器框架,同時納入了 FORTRAN、Autocoder,以及一種新的程式語言 Alpha。在這個框架之中,不同的語言會使用同一個優化的後端,為超級電腦「Stretch」以及協同處理器「HARVEST」生出代碼(Code)。這個挑戰雖然非常艱難,艾倫與團隊最終仍然成功地完成了任務。
後來,艾倫還協助 IBM 開發高級計算系統(ACS)中的實驗編譯器,讓編譯器獨立於程式語言及機器語言之間獨立運作、提升整體效能。在研究的過程中,她獲得了不少收穫,更在 1966 年發表了一篇關於程序優化的開創性論文,並提出了一組強大的新算法,同時描繪出了實現程序分析和優化的全新框架。
艾倫也幫助 IBM 開發平行運算架構的相關計畫,衍伸到現在,平行運算成為電腦必備的功能,不論是桌機還是筆電都可以做到平行運算。她也協助 IBM 開發藍色基因計畫 (IBM Blue Gene Project),這是一個由 IBM 主導的超級電腦計畫,用來分析蛋白質的三維結構。
「我喜歡探索新問題、新想法和新事物。」艾倫表示,一旦她掌握了原本的難題,她就會去面對下一個更有趣的挑戰。
艾倫不僅成為了 IBM 的榮譽院士,更獲得了2006 年圖靈獎、IEEE 同名獎章等等殊榮肯定,她最厲害的地方在於,推翻了「先寫出程式,然後想辦法讓工程師學會」的傳統,而是努力「用工程師喜歡的方式去寫程式」,正是因為有了她的付出,才讓程式編寫變得更加簡單。
電腦程式的領域一直都是由男性主導的,而艾倫可以說是帶來改革的一股新力量。也因為艾倫打破了這樣的固有傳統, 1970 到 1980 年間, IBM 內部的實驗編譯小組中有一半的成員是女性。
透過自己的付出,法蘭‧艾倫打破了玻璃天花板,不只如此,她也不斷鼓勵其他女性投入到計算機領域之中,並且身體力行地擔任她們的導師,更因此入選國際科技女性(WITI)名人堂,並獲得了計算機女性協會頒發的 Augusta Ada Lovelace 獎。
而直到今天,我們所使用的程式語言之中,仍然能看到她所留下的痕跡。
Frances ALLEN - scientificwomen
Remembering Frances E. Allen | IBM Research Blog
Frances Allen - A.M. Turing Award Laureate
Frances Allen, Who Helped Hardware Understand Software, Dies at 88 - The New York Times
Frances Allen, first woman to win Turing Award for contributions to computing, dies at 88 - The Washington Post
本著作係採用 創用 CC 姓名標示─非商業性─禁止改作 3.0 台灣 授權條款 授權.
本授權條款允許使用者重製、散布、傳輸著作,但不得為商業目的之使用,亦不得修改該著作。 使用時必須按照著作人指定的方式表彰其姓名。
閱讀授權標章或
授權條款法律文字。