TeX

TeX 之父 - Knuth 新作出版了

发布于 2022-10-05 19:05:16

高德纳(Knuth)在个人主页宣布:《计算机程序设计艺术》(简称 TAOCP )第 4 卷 B 即将出版,预计今年(2022年)10月份就可以看到纸质书了,距离上一次出版的第 4 卷 A(2011年)已经过去了 11年时间了,至此,Knuth距离他的愿望又近了一步,后面还有卷4C,4D,4E.....
image.png

TAOCP 的第四卷涉及组合算法,这是计算机科学领域,好的技术具有最显著的效果,这也是 Knuth 最喜欢的一个领域,因为一个好主意通常可以使程序运行得快一百万倍,这是一个宏大而引人入胜的主题。 ​

一本经典史诗级计算机著作

《计算机程序设计艺术》真正开始写作是 1962 年,当时高德纳还处于研究生学习阶段。1968 年,他出版了该书的第 1 卷。而第 2 和 3 卷分别出版于 1969 和 1973 年。

也是因为这本书,他获得了图灵奖​:

​授予高德纳图灵奖,以表彰其在算法分析、程序设计语言的设计和程序设计领域的杰出贡献,特别是其著名的《The Art of Computer Programming》系列丛书。

高德纳捧走了历史上第 9 个图灵碗。因为这一年他只有 36 岁,直到现在,他仍然保持着获奖年龄最小的纪录。

1976年,这本书准备再版,扩充了一些内容。这一次,出版商改用了便宜的电子排版方法,小样完全达不到高德纳要求。

于是,1977年高德纳用了一个夏天,再加一整年的学术休假,执行他的数字排版计划:和学生一起写出了排版程序,名叫TeX。

转年,《计算机编程艺术》的修订版,就用 TeX 排版完成了。

那时的高德纳可能不知道,TeX 会引发学术排版的巨大变革。

image.png

谁说程序员没有美感?高德纳以字体设计系统 METAFONT、文学编程和 TeX 颠覆了当时的计算机排版软件,引领了数字出版的革新。

TeX 功能强大、几近无懈可击。TeX 的版本号码也十分有趣。从 TeX 第三版开始,之后的升级是在小数点后加入一个新数位,使之越来越接近圆周率 π 的值。

TeX 目前的版本是 3.1415926​53.

后续的事

2025 年 预计出版第五卷​:

Volume 5 Syntactic Algorithms, in preparation.

  1. Lexical scanning (includes also string search and data compression)
  2. Parsing techniques

Estimated to be ready in 2025.

​原定计划的七卷本是什么内容,看下面:
第一册 - 基础算法(Fundamental Algorithms)

  • 这里是列表文本第一章 - 基本概念(Basic concepts)
  • 第二章 - 信息结构(Information structures)

第二册 - 半数值算法(Seminumerical Algorithms)

  • 第三章 - 随机数(Random numbers)
  • 第四章 - 算术(Arithmetic)

第三册 - 排序与搜索(Sorting and Searching)

  • 第五章 - 排序(Sorting)
  • 第六章 - 搜索(Searching)

第四册 - 组合算法(Combinatorial Algorithms)

  • 第七章 - 续(continued)
  • 第八章 - 递归(Recursion)

第七章 - 组合的搜索(Combinatorial searching)

  • 第4A卷 - 枚举与回溯(Enumeration and Backtracking)
  • 第4B卷 - 图形与网络算法(Graph and Network Algorithms)
  • 第4C及4D(可能)卷 - 优化与递归(Optimization and Recursion)

第五册 - 造句算法(Syntactic Algorithms),计划中(预计2025年完成)。

  • 第九章 - 语句扫描(Lexical scanning)
  • 第十章 - 剖析技术(Parsing techniques)

第六册 - 与上下文无关语言理论(Theory of Context-Free Languages),计划中。
第七册 - 编译器技术(Compiler Techniques),计划中。​

image.png

祝福高老爷子健康长寿,​完成这个鸿篇巨制!

更多的信息请大家查看:https://www-cs-faculty.stanford.edu/~knuth/taocp.html

扩展阅读:

高德纳曾表示,除了《计算机程序设计艺术》系列,自己已经完成了所有的人生目标。

对于接下来的写作,高德纳已经做了清晰的规划:

「在我继续编写第 4 卷和第 5 卷时,我需要参考那些在逻辑上属于第 1—3 卷但在我写这些书时尚未发掘的主题。我不会将这些材料人为地放入第 4 卷或第 5 卷,而是将其制成分册形式。」

「在第 5 卷完成后,我将再次修订第 1—3 卷以使其保持最新状态。然后我将出版第 1—5 卷的读者文摘版,将最重要的材料浓缩成一本书。」

「第 1—5 卷完成后,上帝保佑,我计划出版第 6 卷(语言理论)和第 7 卷(编译器技术)。1—5 卷代表时序机计算机编程的核心,第 6 卷和第 7 卷的主题很重要,但会更专业。」

他也曾解释过自己深居简出的生活方式:「我的全职写作计划意味着我必须成为一个隐士,以便有足够的效率来完成 《计算机程序设计艺术》。唯一的方法是在批量处理模式下操作,不间断地专注于一个主题,而不是在脑海中交换许多主题。我无法安排与访客的约会、参加会议或接受演讲活动,或承担任何类型的新职责。」

2021 年,高德纳在接受《Quanta Magazine》专访时说到:「我平均每周写 5 个新程序。诗人必须写诗,而我必须写计算机程序。」

值得庆幸的是,高德纳老爷子的身体比我们想象得更加康健。一位 HackerNews 用户曾描述了自己几年前拜访高德纳的场景:

image.png

几年前,我有幸在 Knuth 家里见到了他,我的妻子正在为他拍摄一些照片。他带我到他的房间,向我展示了他的装置,当时他正在研究 sudoku 算法。他的手速快得惊人,在 emacs 窗格之间移动、触发评估和输出结果,与任何 20 岁的人一样。80 多岁的他,精神似乎没有任何衰退。

我开始和他谈论一些最新的人工智能研究,他提到了论文作者,并且已经阅读了它们!他不仅在 84 岁时仍然保持生产力,而且他并没有固定于某一特定学科,而是继续与其他相关领域保持同步。

我只希望他能再活一百岁,让我看到《计算机程序设计艺术》第五、六、七卷完结。

0 条评论

发布
问题