當?shù)貢r間 3 月 31 日,國際計算機協(xié)會(ACM)宣布將圖靈獎(Turing Award)授予哥倫比亞大學計算機科學名譽教授 Alfred Vaino Aho 和斯坦福大學計算機科學名譽教授 Jeffrey David Ullman,以表彰他們在編程語言實現(xiàn)(programming language implementation)方面的基礎(chǔ)算法和理論成就。
圖 | 左 Jeffrey David Ullman 右 Alfred Vaino Aho(來源:The New York Times)
“計算機編程的實踐和日益先進的軟件系統(tǒng)的發(fā)展支撐了我們在過去 50 年里社會經(jīng)歷的幾乎所有的技術(shù)變革?!盇CM 主席 Gabriele Kotsis 解釋說?!半m然無數(shù)的研究人員和實踐者為這些技術(shù)做出了貢獻,但 Aho 和 Ullman 的工作尤其具有影響力。他們幫助我們理解算法的理論基礎(chǔ),并為編譯器和編程語言設(shè)計的研究和實踐繪制課程。自 20 世紀 70 年代初以來,Aho 和 Ullman 一直被認為是領(lǐng)導(dǎo)者,他們的工作一直指導(dǎo)著一代又一代的程序員和研究人員,直到今天?!?/p>
谷歌高級研究員和高級副總裁 Jeff Dean 補充道,“Aho 和 Ullman 建立了關(guān)于算法、形式語言、編譯器和數(shù)據(jù)庫的基本思想,這對當今編程和軟件領(lǐng)域的發(fā)展至關(guān)重要?!?/p>
“他們也說明了這些不同的學科是如何緊密相連的。Aho 和 Ullman 介紹了關(guān)鍵的技術(shù)概念,包括關(guān)鍵的特定算法。就計算機科學教育而言,他們的教科書一直是培訓(xùn)學生、研究人員和從業(yè)者的黃金標準?!?他表示。
圖 | Jeff dean :“研究生時上編譯課用了'龍書’,非常愉快的回憶?!保▉碓矗篢witter)
相遇普林斯頓:十幾年的合作默契
1963 年,Aho 和 Ullman 在普林斯頓大學讀研的第一天排隊等候注冊時相遇,那時計算機科學還是一個陌生的新世界。
1967 年,二人在貝爾實驗室共事并持續(xù)幾十年。在貝爾實驗室期間,他們的早期工作包括開發(fā)分析和翻譯編程語言的高效算法。這些工作為同時期的計算機科學理論做出了貢獻。
1969 年,Ullman 開始進行學術(shù)深造,并最終在斯坦福大學任教。Aho 后加入哥倫比亞大學。盡管二人身在不同機構(gòu),Aho 和 Ullman 仍繼續(xù)維持了幾十年的合作,在這期間他們合著了書籍和論文,并介紹了算法、編程語言、編譯器和軟件系統(tǒng)的新技術(shù)。
人機語言的翻譯者:編譯器
Aho 和 Ullman 是 “編譯器”(compilers)領(lǐng)域的先驅(qū)。編譯(compile)是將人類使用的高級語言翻譯成計算機可以理解和執(zhí)行的低級語言 —— 也就是 “0” 和 “1” 的過程。
過去,使用一臺計算機需要一系列艱深的技術(shù),這些技術(shù)通常只有受過專業(yè)訓(xùn)練的工程師和數(shù)學家才能掌握。但是今天,在編譯器的作用下,任何人都可以使用計算機并且通過編寫程序來執(zhí)行新任務(wù)。倘若沒有 J&A 的發(fā)明,人們將陷入人與計算機 “雞同鴨講” 的尷尬之中,計算機的使用與軟件的更迭也將囿于一小部分人群。
微軟的研究人員 Krysta Svore 說道,沒有他們的工作,“我們將無法編寫手機中的 App 程序,也無法擁有我們今天開的汽車”。Krysta Svore 曾與 Aho 在哥倫比亞大學學習,是當時計算機科學系的主任。
程序員們的回憶:綠龍書《編譯器設(shè)計原理》
圖 | 綠龍書” green dragon book(來源:awards.acm)
這本因封面設(shè)計被人們稱為 “綠龍書”(green dragon book)的《編輯器設(shè)計原理》(Principles of Compiler Design) 由 Aho 和 Ullman 合著出版于 1977 年。這本書是編譯器技術(shù)領(lǐng)域內(nèi)的權(quán)威書籍,該書匯集了形式語言理論和語法導(dǎo)向的翻譯技術(shù),并將其運用到編譯器設(shè)計過程中。這本書清晰地列出了將高級編程語言翻譯成機器代碼的階段,其中包括作者在詞匯分析、語法分析技術(shù)和代碼生成的有效技術(shù)等算放領(lǐng)域方面所做的突出貢獻。
“綠龍書” 后又經(jīng)歷了兩次升級與變身。1986 年,該書的兩位作者加上 Ravi Sethi,將此書更名為《編譯器:原則、技術(shù)和工具》(Compilers: Principles, Techniques and Tools),并進行了內(nèi)容上的提升。不過,此版在封面上依然沿用騎士和龍的獨特造型,只是將龍的顏色變成了紅色,因此被人們稱為 “紅龍書”。
2007 年,又經(jīng)歷了一次升級的 “紫龍書” 出版,作者一欄增加了 Monica Lam。在這一版的前言中,Aho 寫道:“編寫編譯器的原理和技術(shù)具有十分普遍的意義,以至于在每個計算機科學家的研究生涯中,本書中的原理和技術(shù)都會反復(fù)被用到”。目前該書仍然是編譯器設(shè)計的標準教科書。
“計算機界的諾貝爾獎”:圖靈獎
圖靈獎(Turing Award),是計算機科學協(xié)會(ACM)頒發(fā)的年度獎項,于 1966 年設(shè)立,以表彰 “對計算機領(lǐng)域具有持久而重大的重要技術(shù)成果”。 該獎項名稱取自計算機科學先驅(qū)、英國科學家艾倫?麥席森?圖靈(Alan M. Turing),圖靈通常被認為是理論計算機科學和人工智能的主要創(chuàng)始人。
圖靈獎對獲獎條件要求極高,評獎程序極嚴,它通常被認為是計算機科學領(lǐng)域的最高榮譽,經(jīng)常被稱為 “諾貝爾計算獎”。
從 2007 年到 2013 年,該獎項獎金為 25 萬美元,由英特爾和谷歌提供。自 2014 年以來,該獎項獎金提升至 100 萬美元,由 Google 提供財政支持。
1966 年,ACM 將第一個圖靈獎授予了卡內(nèi)基梅隆大學的 Alan Perlis。 而首位圖靈獎女性獲得者是 2006 年 IBM 的 Frances E. Allen。