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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 刚刚,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获奖,你感动吗?

相关文章
|
SQL 自然语言处理 数据挖掘
大模型与数据分析:探索Text-to-SQL(中)
大模型与数据分析:探索Text-to-SQL(中)
2568 0
|
网络安全 数据安全/隐私保护
ssh远程执行命令自动输入密码方式
ssh远程执行命令自动输入密码方式
4435 0
|
存储 程序员 编译器
|
4月前
|
人工智能 监控 安全
阿里云/本地部署OpenClaw配置大模型API步骤,对接AKShare搭建全自动A股监控系统实战教程
对于普通投资者而言,实时盯盘耗时费力、专业行情接口价格高昂、手动复盘效率低下、移动端预警难以实现,是长期存在的痛点。OpenClaw(Clawdbot)与AKShare组合,为个人投资者提供了一套完全免费、本地优先、自动化运行、支持多渠道消息推送的AI股票监控解决方案。AKShare提供开源免费的A股、港股、美股、期货、基金等全量金融数据,无需付费接口;OpenClaw作为AI自动化中枢,负责数据调度、指标计算、AI分析、异动监控与消息推送,两者结合可实现7×24小时无人值守盯盘、AI智能解读、微信/飞书实时预警,且全程本地运行,不涉及交易、不登录券商账户,安全无风控。
1649 0
|
存储 人工智能 搜索推荐
详解MySQL字符集和Collation
MySQL支持了很多Charset与Collation,并且允许用户在连接、Server、库、表、列、字面量多个层次上进行精细化配置,这有时会让用户眼花缭乱。本文对相关概念、语法、系统变量、影响范围都进行了详细介绍,并且列举了有可能让字符串发生字符集转换的情况,以及来自不同字符集的字符串进行比较等操作时遵循的规则。对于最常用的基于Unicode的字符集,本文介绍了Unicode标准与MySQL中各个字符集的关系,尤其详细介绍了当前版本(8.0.34)默认字符集utf8mb4。
|
数据安全/隐私保护 安全
云大使提现账号更改为淘宝账号(绑定的支付宝)操作攻略
由于业务调整,云大使提现绑定的支付宝账户将换绑为淘宝账户所绑定的支付宝账户,具体操作步骤和常见问题攻略如下,便于大使快速完成换绑工作,避免影响大使的后续提现。关于如何查看自己的淘宝账号名称,通过以下两种方式可快速查看
云大使提现账号更改为淘宝账号(绑定的支付宝)操作攻略
|
运维 监控 供应链
如何通过安全看板优化企业安全管理流程?最受欢迎的工具推荐
随着企业对安全管理的重视,特别是在建筑、制造、能源和IT等行业,安全看板工具成为提升管理效率和保障员工安全的关键。这类工具通过可视化安全工作,优化任务分配、进度跟踪和风险识别,简化流程,提高团队响应速度,减少事故,降低成本。文章介绍了安全看板的概念、设计方法、案例及推荐工具(板栗看板、Zoho Projects、Smartsheet、Wrike和Airtable),旨在帮助企业选择合适的工具,提高安全管理效率。
如何通过安全看板优化企业安全管理流程?最受欢迎的工具推荐
|
自然语言处理 运维 开发工具
深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成
本文深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成。通过命令对比,展示了两者在启动、配置、模式切换、移动编辑、搜索替换、插件管理、文件操作、窗口缓冲区管理和高级功能等方面的差异。总结部分强调了 NeoVim 在多个方面的显著优势,解释了为什么越来越多的运维人员选择 NeoVim。
1723 3
|
搜索推荐 程序员 开发工具
Emacs Verilog mode 简单使用指南
【6月更文挑战第17天】Emacs Verilog mode 提升Verilog编程体验,提供语法高亮、代码补全、自动缩进等功能。安装可通过`M-x package-install RET verilog-mode`。常见问题包括补全不生效、高亮不准确,可通过调整配置解决。支持模板插入、代码折叠、错误高亮、代码跳转。通过个性化配置、整合Git、集成其他工具和社区资源,实现高效Verilog开发。Emacs学习曲线虽陡,但效能提升显著。
816 4