这套书他写了50年,程序史上最重要神作「电脑程序设计艺术」第四捲B新的章节预览释出

或许你不知道高德纳(Donald Ervin Knuth)是谁,甚至可能没有读过他的着作。但是事实上任何资工科系的学生,现在在学校里头所念的课本,里头的内容多少都是他的着作的翻译以及翻译的再翻译。甚至可以说,整个电脑史上如果没有他,可能现在的演算法走向就会完全不一样。

高德纳计算机科学家

高德纳,史丹佛大学的电脑系荣誉退休教授,是现代电脑科学以及现代数学的大师级人物,尤其是在演算法领域可以说为后人奠定了基础,现代我们学习演算法中有一个字串搜寻演算法「Knuth–Morris–Pratt」,就是他与学生的合作发明。

他早在1962年还是研究生的时候就已经从事程序设计,而在他攻读博士学位的时候,就有人找他撰写程序设计相关的书籍。但是当时他课业繁忙,一直到1968年,才开始出版他的着作,也就是至今被程序设计史上列为经典的「电脑程序设计艺术」(The Art of Computer Programming)。

TAOCP被美国科学家期刊列为与相对论、博奕论、量子力学等重量级学术作品并驾齐驱的科学史上最重要着作,李开复也说过,要把资料结构、演算法、资料库、作业系统原理、离散数学等基础课程学好,就去练习TAOCP里面的题目。甚至比尔盖兹在1995年的时候还建议新鲜人「如果你能读懂整套书的话,请发给我一份你的履历。」

TAOCP一书的出版过程也是电脑书籍出版史上的一个传奇,前面说在1962年就有出版社跟他约稿,当时他回答课业繁忙,四年之后出版社问他书写的怎么样,他回答「才写了3000多页...」让编辑大吃一惊,他们只想要出一本电脑基础的书本,但是高纳德把这本书的规格提高到前所未有的高度。

高德纳写的书籍

而这三千多页的内容,仅仅只是整套TAOCP的一章。

而从1968年到1973年,这本书出到了第三部,在这期间他已经是史丹佛大学的教授,而这三部书也被电脑界已经视为是经典之作,在1974年他才36岁就以这套书获得了美国电脑界最高成就的图灵奖,为至今最年轻的获奖者。不过,就在这时候,他宣布要暂时停笔,不写了。理由是当时的「排版工具太烂,无法表现书中的演算法之美」。

于是,接下来的十年,他花了时间去设计了一套论文排版系统TEX,这个系统专门针对适合学术写作和数学式的排版设计;并且设计了一个字体设计系统METAFONT。值得一提的是,高纳德的想法处处与众不同,TEX的版本开发并不是像一般Windows 2.0、3.0这样一路往上累进的,而是使用圆周率来当版本开发的代号,TEX3、TEX3.1、TEX3.14......这样一路往下,不断逼近圆周率以趋近完美。

而到了1992年,高德纳宣布从史丹佛大学退休,并且从此不收Email。理由是希望专心完成整套TAOCP。整套TAOCP预计一共有七册,每册的主题如下:

第一册 - 基础演算法(Fundamental Algorithms)

第一章 - 基本观念(Basic concepts)

第二章 - 资讯结构(Information structures)

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

第三章 - 随机数(Random numbers)

第四章 - 算数(Arithmetic)

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

第五章 - 排序(Sorting)

第六章 - 搜寻(Searching)

第四册 - 组合演算法 (Combinatorial Algorithms),准备中(至2009年4月已出版五个分册),测试版本已上载到Knuth's的网站).

第4A捲, 列举与回溯(Enumeration and Backtracking)

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

第4B捲, 图形与网路演算法(Graph and Network Algorithms)

第七章续(continued)

第4C及4D(可能)捲, 最佳化与递回(Optimization and Recursion)

第七章续(continued)

第八章 - 递归(Recursion)

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

第九章 - 语句扫瞄(Lexical scanning)

第十章 - 剖析技术(Parsing techniques)

第六册 - 与上下文无关语言理论(Theory of Context-Free Languages), 计划中

第七册 - 编译器技术(Compiler Techniques), 计划中

就跟许多不按牌理出牌的大师一样,高德纳的兴趣很广,从音乐到小说艺术都有。但他最爱的还是程序设计的艺术,以及「做到完美」的信念。

最近高德纳在他的网站上发表了他最近的写作进度,并且披露了最近写到4B的部分内容,提供了52页的预览版。

在这部分他主要是延伸了第一捲中第一章以及第二章的数学基础,并且加入了他表示在1960年代当时的他还不知道的内容。他表示与过去一样,任何首先发现错误以及提出有价值意见的人,他都会寄出奖励。高纳德的奖励是:每指出一个错误,就能得到2.56美元,因为256美分为16进制的1美元。这就是高纳德有名的「16进制奖励」。

此外,高德纳最近还很高兴的宣布,他在2016年在史丹佛的一场讲课,可能是美国大学史上第一场首次用3D VR LIVE直播的讲课。

图为高德纳教授利用VR讲课

他本人也非常幽默。他在影片说,这可能是史丹佛有史以来第一场的VR 3D Live直播讲课,所以他个人觉得应该邀请一些舞者来这边开场,他也跟那些在观看影片的观众说,如果你想要感受3D有多Cool,或是确认你看的是不是VR 3D,请你把头往下低下来。

神一般的存在

根据高德纳的规划,从他1992年退休至今,他实际上只出了第四册A(而第四册还分成A、B、C、D四部!),现在还在努力跟第四册B努力奋斗中。而他希望在2020年可以完成第五册,看来这个时间表真的拖延的有点长。希望今年已经79岁高龄的大师真的要好好照顾身体,把整套书完成啊!

老板给我冲值50元智商

你可能感兴趣的:(这套书他写了50年,程序史上最重要神作「电脑程序设计艺术」第四捲B新的章节预览释出)