阿爾弗雷德·阿霍和杰弗里·烏爾曼因為在編程語言領域的研究獲得了今年計算機科學界的諾貝爾獎——圖靈獎。
阿霍和烏爾曼已經合作了30多年,合著了一系列關于編程語言、數據和算法的奠基性教科書,塑造了一整代計算機科學家的思維。他們在編譯器理論方面的研究尤其出名。編譯器是一種將指令從抽象的編程語言(如數據庫專用語言SQL)轉換為計算機可以執行的機器碼的軟件。
“阿霍和烏爾曼建立了關于算法、形式語言、編譯器和數據庫的基本原理,對于今天編程和軟件環境的發展至關重要。”杰夫·迪恩說,他是一位享譽盛名的谷歌工程師兼高管,現在是谷歌的高級研究員以及谷歌研究和谷歌健康的高級副總裁。
圖靈獎每年由美國計算機協會(ACM)頒發。獲獎者將分享100萬美元獎金,由谷歌資助。該獎項以開創了現代計算機基礎的英國數學家阿蘭·圖靈命名。
今年的圖靈獎獲獎者阿霍和烏爾曼的合作經歷始于上世紀60年代末的貝爾實驗室,當時兩人都已獲得了普林斯頓大學的博士學位。他們最初的研究重點是開發更高效的算法和翻譯編程語言。盡管烏爾曼1969年離開了貝爾實驗室回到學術界,并最終在斯坦福大學任教(目前是該校的名譽教授),但兩人仍繼續一起寫書。
1974年,他們出版了《計算機算法的設計與分析》(The Design and Analysis of Computer Algorithms),十多年來,這本書一直是算法課程的標準教科書。該書將單個算法劃分為更一般的設計類別,至今仍在該領域發揮著巨大的影響。
三年后,阿霍和烏爾曼出版了《編譯器設計原理》(Principles of Compiler Design),再次成為經典之作,教導一代又一代的學生如何創建編譯器,如何思考計算機語言理論。這本書被計算機科學專業的學生稱為“龍之書”,因為封面上印了一條龍,看起來就像哈利·波特會在霍格沃茨帶著走來走去的魔法大部頭,只不過那時候哈利波特這個虛擬人物還沒有誕生。 “我經常聽人說,因為這個有趣的封面,“龍之書”更能吸引學生來學習計算機科學。”烏爾曼說,“很多學生喜歡在校園里夾著這本怪書的感覺。”
阿霍在貝爾實驗室工作了30多年,目前是哥倫比亞大學的計算機科學名譽教授,他說自己在這家著名的企業實驗室工作期間,親身感受到了設計編程語言的重要性,可以讓需要使用電腦在數學、化學或排版等特定領域開展工作的人無需成為電腦運行專家就可以出色完成工作。烏爾曼將創建編程語言的藝術描述為“讓程序員說最少的話,實現盡可能多的功能。”
阿霍和烏爾曼都表示,回顧自己的職業生涯,最滿足的是看到自己對教過和指導過的學生產生的影響,他們的學生中有許多人現在在大型科技公司擔任高級職位,發明了數不盡的編程語言。谷歌聯合創始人謝爾蓋·布林就是烏爾曼的博士生。
阿霍說,教授學生編程語言和算法的理論基礎非常重要,部分原因是語言本身往往會受到流行趨勢的影響。“如果看看學術界優先教給學生的編程語言,你會發現它一直在變化。”他指出。“一開始是C或C++,之后開始流行Pascal,現在Python似乎是第一選擇。誰知道10年后、100年后、1000年后會是什么樣子?”他補充道,“我們都認為,基本原理和抽象概念比眼下的技術更有生命力。”(財富中文網)
譯者:Agatha
阿爾弗雷德·阿霍和杰弗里·烏爾曼因為在編程語言領域的研究獲得了今年計算機科學界的諾貝爾獎——圖靈獎。
阿霍和烏爾曼已經合作了30多年,合著了一系列關于編程語言、數據和算法的奠基性教科書,塑造了一整代計算機科學家的思維。他們在編譯器理論方面的研究尤其出名。編譯器是一種將指令從抽象的編程語言(如數據庫專用語言SQL)轉換為計算機可以執行的機器碼的軟件。
“阿霍和烏爾曼建立了關于算法、形式語言、編譯器和數據庫的基本原理,對于今天編程和軟件環境的發展至關重要。”杰夫·迪恩說,他是一位享譽盛名的谷歌工程師兼高管,現在是谷歌的高級研究員以及谷歌研究和谷歌健康的高級副總裁。
圖靈獎每年由美國計算機協會(ACM)頒發。獲獎者將分享100萬美元獎金,由谷歌資助。該獎項以開創了現代計算機基礎的英國數學家阿蘭·圖靈命名。
今年的圖靈獎獲獎者阿霍和烏爾曼的合作經歷始于上世紀60年代末的貝爾實驗室,當時兩人都已獲得了普林斯頓大學的博士學位。他們最初的研究重點是開發更高效的算法和翻譯編程語言。盡管烏爾曼1969年離開了貝爾實驗室回到學術界,并最終在斯坦福大學任教(目前是該校的名譽教授),但兩人仍繼續一起寫書。
1974年,他們出版了《計算機算法的設計與分析》(The Design and Analysis of Computer Algorithms),十多年來,這本書一直是算法課程的標準教科書。該書將單個算法劃分為更一般的設計類別,至今仍在該領域發揮著巨大的影響。
三年后,阿霍和烏爾曼出版了《編譯器設計原理》(Principles of Compiler Design),再次成為經典之作,教導一代又一代的學生如何創建編譯器,如何思考計算機語言理論。這本書被計算機科學專業的學生稱為“龍之書”,因為封面上印了一條龍,看起來就像哈利·波特會在霍格沃茨帶著走來走去的魔法大部頭,只不過那時候哈利波特這個虛擬人物還沒有誕生。 “我經常聽人說,因為這個有趣的封面,“龍之書”更能吸引學生來學習計算機科學。”烏爾曼說,“很多學生喜歡在校園里夾著這本怪書的感覺。”
阿霍在貝爾實驗室工作了30多年,目前是哥倫比亞大學的計算機科學名譽教授,他說自己在這家著名的企業實驗室工作期間,親身感受到了設計編程語言的重要性,可以讓需要使用電腦在數學、化學或排版等特定領域開展工作的人無需成為電腦運行專家就可以出色完成工作。烏爾曼將創建編程語言的藝術描述為“讓程序員說最少的話,實現盡可能多的功能。”
阿霍和烏爾曼都表示,回顧自己的職業生涯,最滿足的是看到自己對教過和指導過的學生產生的影響,他們的學生中有許多人現在在大型科技公司擔任高級職位,發明了數不盡的編程語言。谷歌聯合創始人謝爾蓋·布林就是烏爾曼的博士生。
阿霍說,教授學生編程語言和算法的理論基礎非常重要,部分原因是語言本身往往會受到流行趨勢的影響。“如果看看學術界優先教給學生的編程語言,你會發現它一直在變化。”他指出。“一開始是C或C++,之后開始流行Pascal,現在Python似乎是第一選擇。誰知道10年后、100年后、1000年后會是什么樣子?”他補充道,“我們都認為,基本原理和抽象概念比眼下的技術更有生命力。”(財富中文網)
譯者:Agatha
Alfred Aho and Jeffrey Ullman have won this year’s Turing Award, computer science’s equivalent of the Nobel Prize, for their work on programming languages.
Through more than three decades of collaboration, Aho and Ullman coauthored a series of seminal textbooks on programming languages, data, and algorithms that shaped the thinking of a generation of computer scientists. They are particularly known for their work on the theory of compilers, a type of software that converts instructions from an abstract programming language, such as the database-specific language SQL, into the machine code that the computer executes.
“Aho and Ullman established bedrock ideas about algorithms, formal languages, compilers, and databases, which were instrumental in the development of today’s programming and software landscape,” said Jeff Dean, a storied Google engineer and executive who is currently the company’s senior fellow and senior vice president at Google Research and Google Health.
The Turing Award is given annually by the Association for Computing Machinery (ACM). The winners share a $1 million prize, which Google helps fund. The prize is named for Alan Turing, the British mathematician who developed the foundations of modern computing.
This year’s Turing winners began their collaboration at Bell Labs in the late 1960s, after both received Ph.D.s from Princeton University. They initially worked on developing more efficient algorithms and translating programming languages. Although Ullman left Bell Labs to return to academia in 1969, eventually ending up at Stanford University, where he is currently a professor emeritus, the two continued to write books together.
In 1974, they published The Design and Analysis of Computer Algorithms, which became the standard textbook for courses on algorithms for more than a decade. The book was influential for grouping individual algorithms into more general design categories which continued to exert great influence on the field.
Three years later, Aho and Ullman published Principles of Compiler Design, which also became a classic, teaching generations of students how to create compilers and how to think about the theory of computer languages. The textbook became known as “the Dragon Book” among computer science students because it featured a dragon on its cover, resembling some magical tome Harry Potter might cart around Hogwarts, except the fictional wizard hadn’t been invented yet. “I am often told that putting this funny cover on the Dragon Book attracted students to study computer science,” Ullman says. “A lot of students liked the idea of walking around campus with this weird book under their arm.”
Aho, who worked at Bell Labs for more than 30 years and is currently a computer science professor emeritus at Columbia University, says that while at the famed corporate lab he saw firsthand the importance of designing programming languages that would work well for people who needed computers to perform work in a specific field, such as mathematics or chemistry or typesetting, without having to be experts in how computers functioned. Ullman describes the art of creating programming languages as “enabling the programmer to say as little as possible and have as much happen as possible.”
Both Aho and Ullman say that when they look back on their careers, they are most gratified by the impact they have had on students they have taught and mentored, many of whom now hold senior posts at major technology companies and have invented numerous programming languages. Among Ullman’s Ph.D. students was Google cofounder Sergey Brin.
Aho says that it was important to give students a grounding in the theory of programming languages and algorithms, in part because the languages themselves tend to be subject to changing fashion. “If you look at the first programming languages taught to students in academia, it changes all the time,” he notes. “It was C or C++, and then Pascal was popular, and now Python seems to be the first programming language. Who knows what it will be 10 years from now, 100 years from now, 1,000 years from now?” He adds, “We both feel fundamentals and abstractions have more staying power than the technology of the moment.”