哭了!2020图灵奖颁给编程的回忆——Jeff Dean 的编译启蒙书(下)

简介: 刚刚,2020年图灵奖揭晓!影响了数代人的「龙书」作者——阿尔佛雷德·艾侯 (Alfred Aho)和杰弗里·戴维·乌尔曼(Jeffrey David Ullman)获奖。

乌尔曼的研究兴趣包括数据库理论、数据集成、数据挖掘和使用信息基础结构的教育。

他是数据库理论领域的创始人之一,他带的一批博士生后来都成了领先的数据库理论家。

他是谷歌联合创始人谢尔盖·布林的博士生导师,并曾在谷歌的技术顾问委员会任职。

他目前是Gradiance的首席执行官。他在斯坦福大学在线学习平台上教授有关自动机和挖掘海量数据集的课程。

2020年,乌尔曼被选为美国国家科学院院士,同时还是The Open Code基金会的顾问。

姚期智曾经在清华的一次讲座《科学家与科学之路》中曾经提到乌尔曼,说他是一个有冷幽默的人。

16.jpg

乌尔曼曾说:聪明人不值钱,一毛钱可以买一打,重要的是能对他人有影响(Smart people are dime a dozen,what you want is to have impact)

乌尔曼本身也实践这个哲学,他自认有一个长处,对于新东西吸收很快,写书也很快。计算机科学日新月异,他对很多新的事情都用心学,很多领域他都会开门课,写本书。

他还有另外一句话,关于写书的哲学:如果材料好,写得差一点也不要紧(If it is worth writing,it is worth writing bad)。在一个新的领域里,第一本书会有很多人用,会影响很多人。

「编译原理」动物园

在在编译原理界,三本经典书籍无可替代。

除了龙书,还有虎书、鲸书,而这些梗都是从封面而来。

虎书(现代编译原理-C语言描述 ,Modern Compiler Implementation in C)

作者:Andrew W.Appel,with Jens Palsberg

17.jpg

很多国内的硕博士都说,其实虎书《现代编译原理-C语言描述》才是最合适的那个,虽然与龙书的内容类似,但虎书增加了数据流分析、循环优化等内容。而且,除了上图的C版,还有java版和ML版。

鲸书(高级编译器设计与实现 ,Advanced Compiler Design and Implementation)
作者:Steven S.Muchnick

18.jpg

鲸书出版时间比龙书和虎书都晚,所以作为后来居上者,它不仅囊括另两本书的内容,还涉及了许多高级的编译器设计与实现内容。可以说,鲸书更加全面,也更适合小白学习。

但是,龙书的封面有条龙,虎书的封面有头虎吗,那鲸书又如何得其名呢?

本书封面是从西北海岸民间艺术收藏中选取的,这是一张奇尔卡特毛毯的照片。中间的一块描绘了一条在水中潜游的鲸鱼。

不仅如此,在编程界,还有很多书是用动物来称呼的,例如O'relly系列,

19.jpg

蝴蝶书(JavaScript: the good parts)

20.jpg

(树懒书)copying and pasting from stack overflow

等等……

实际上,还有很多从封面来的计算机书梗,比如 SICP 就叫 Wizard Book;另外,来自作者的,比如 CLRS、K&R、GoF……

另外,周志华老师的《机器学习》俗称「西瓜书」,因为里面有大量用西瓜举例的内容。

21.jpg

还有IanGoodfellow、YoshuaBengio、AaronCourville 编著的《深度学习》,因封面是一张计算机生成的纽约中央公园而被称为「花书」

22.jpg

你是几0后编程学习者?「龙书」CP获奖,你感动吗?

相关文章
|
存储 程序员 编译器
|
Python Windows
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
2360 0
【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )(一)
|
存储 人工智能 搜索推荐
详解MySQL字符集和Collation
MySQL支持了很多Charset与Collation,并且允许用户在连接、Server、库、表、列、字面量多个层次上进行精细化配置,这有时会让用户眼花缭乱。本文对相关概念、语法、系统变量、影响范围都进行了详细介绍,并且列举了有可能让字符串发生字符集转换的情况,以及来自不同字符集的字符串进行比较等操作时遵循的规则。对于最常用的基于Unicode的字符集,本文介绍了Unicode标准与MySQL中各个字符集的关系,尤其详细介绍了当前版本(8.0.34)默认字符集utf8mb4。
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
运维 监控 供应链
如何通过安全看板优化企业安全管理流程?最受欢迎的工具推荐
随着企业对安全管理的重视,特别是在建筑、制造、能源和IT等行业,安全看板工具成为提升管理效率和保障员工安全的关键。这类工具通过可视化安全工作,优化任务分配、进度跟踪和风险识别,简化流程,提高团队响应速度,减少事故,降低成本。文章介绍了安全看板的概念、设计方法、案例及推荐工具(板栗看板、Zoho Projects、Smartsheet、Wrike和Airtable),旨在帮助企业选择合适的工具,提高安全管理效率。
如何通过安全看板优化企业安全管理流程?最受欢迎的工具推荐
|
数据安全/隐私保护 安全
云大使提现账号更改为淘宝账号(绑定的支付宝)操作攻略
由于业务调整,云大使提现绑定的支付宝账户将换绑为淘宝账户所绑定的支付宝账户,具体操作步骤和常见问题攻略如下,便于大使快速完成换绑工作,避免影响大使的后续提现。关于如何查看自己的淘宝账号名称,通过以下两种方式可快速查看
云大使提现账号更改为淘宝账号(绑定的支付宝)操作攻略
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
安全 C# 开发者
C# 一分钟浅谈:文件操作与文件流详解
【9月更文挑战第4天】在日常开发中,文件的读写是基本而重要的任务。C# 通过 `System.IO` 命名空间提供了多种工具,如 `FileStream`、`StreamReader` 和 `StreamWriter` 等,用于处理文件和流。本文从基础概念入手,详细介绍了这些类的使用方法,并讨论了常见错误及其避免策略,包括文件不存在、权限问题和文件被占用等。通过示例代码,展示了如何创建、读取文件以及进行二进制数据操作,并强调了异常处理和性能优化的重要性。掌握这些技巧对于提升编程能力至关重要。
492 2
|
SQL Oracle 关系型数据库
一文入门Dataphin实时集成
Dataphin实时集成的读取和写入原理是什么?Dataphin实时集成和实时研发的区别是什么?Dataphin实时集成有哪些优势?本文一次讲清
591 1