> 文档中心 > 陪伴程序员的一条龙、一骑士 36 岁了

陪伴程序员的一条龙、一骑士 36 岁了

整理 | 张洁

责编 | 屠敏

近日,麻省理工学院计算机科学与人工智能实验室@MIT CSAIL发布了一条Twitter,引发无数网友回忆,其表示:“怎么知道自己老了?那就是:‘龙书’已经36岁了。”下面有网友评论说:“优秀的书!”当然,“龙书”它配得上这样的评论。“龙书”作为编程语言的入门级教科书,在无形之中已经成为大部分程序员的青春,承载着太多的回忆。

封面霸气,“龙书”的由来

一谈到“龙书”,很多网友肯定对它的名字产生了好奇。它不是一本程序员的学习书籍吗,又怎么会叫“龙书”这个名字呢?

回溯历史,最初在1977年,它的第一版名字叫《Principles of Compiler Design》,也就是编译器设计原理,但它的封面采用了骑士和龙的配图,相当地霸气,因此第一次有人称它为“龙书”。之后它又经过了两次改版与升级。

图片来源于网络

9年后,作者们对这本书进行了改版升级,书名更改为《Compilers: Principles, Techniques and Tools》,也就是编译器的原理、技术和工具的意思,封面是骑士和红色的龙,被人称为“龙书二”和“红龙书”。后面直到2006年年底,又一次对龙书进行改版,这时又多了一位作者Monica S. Lam,这次的书名和封面还是沿用上一次的, 但不同的是这次龙是紫色的,因此被叫做“紫龙书”。

相识贝尔实验室,共创作不朽巨作

“龙书”的影响之大,不得不让人佩服编写它们的最初作者——Alfred Vaino Aho和Jeffrey David Ullman。他们是ACM(国际计算机协会)宣布的2020年图灵奖得主,主要表彰他们在计算机编程语言领域做出的贡献。如今世界上的一些程序是程序员用高级语言编写的,然后再编译成低级代码来执行,其中的一些技术是以“龙书”为基础进行改编的。

Aho一生获奖无数,先后获得IEEE约翰·冯·诺依曼奖章和NEC C&C奖等。在加入哥伦比亚大学之前,Aho曾在贝尔实验室担任计算科学研究副总裁,并在该实验室工作了30多年。除了现任哥伦比亚大学Lawrence Gussman荣誉教授以外,Aho还是美国国家工程学院、美国艺术与科学学院和加拿大皇家学会的会员,以及ACM、IEEE、贝尔实验室和美国科学发展协会的会员。

Ullman在普林斯顿大学获得计算机科学博士学位,曾在普林斯顿大学任教,之后加入斯坦福大学,并在贝尔实验室担任过技术人员。他还获得过EEE冯诺依曼奖章、NEC C&C奖,Donald E.Knuth奖和ACM Karl V.Karlstrom杰出教育家奖。Ullman是ACM会员、美国国家工程学院、美国国家科学院和美国艺术与科学学院的会员。

Aho和Ullman的合作要从1967年的贝尔实验室说起,他们几十年如一日,兢兢业业,为编程语言理论和算法的设计与分析奠定了基础。之后两人共同合作编写了一些书籍和论文,并为编程语言、编译器、算法和软件系统引入了一些新技术。

1977年,他们共同编写的《Principles of Compiler Design》在计算机界引起了不小的反响,被业界公认为该领域的经典著作。该书介绍了编译原理基础知识,如编译器结构、词法分析、 语法分析、 类型检查和代码生成等内容。随着之后的升级改版,这本书还加入了一些新的内容, 比如新的数据流分析技术和并行性等内容。书中清楚的阐释了将高级语言转换成机器代码的各个阶段,并将编译器进行了模块化,使人一目了然。

影响深远,广为流传

“龙书”的联合作者Monica S. Lam在2015年接受CSDN的专访中说过:“我们作为教育者,也希望技术能更好造福世界,这种愿望与盈利无关。深入地研究技术本身就是了不起的事情,它能够带来的是长远的利益。”事实确实如此,“龙书”的诞生影响了计算机行业很多的新人,也造就了不少的大神,影响了数以万计的计算机专家和程序员的命运,使计算机行业得到了质的飞跃,这是无法用金钱来衡量的。国内外著名的Swift之父Chris Lattner,他就是在计算机专业的硕博学习中刻苦专研“龙书”,后来逐渐成为大神的。

“龙书”可以作为高等院校计算机专业的编译原理与技术课程的教材,也可以作为计算机技术人员必读的专业参考书之一。“龙书”的到来可以说已经影响整个世界了,它推动了计算机行业的发展,还为编译器的设计提供了一个标准。作为程序员的你,是什么时候看过“龙书”的?

参考链接:https://twitter.com/MIT_CSAIL/status/1497621230144294913