作者:人民邮电出版社
链接:https://www.zhihu.com/question/28438145/answer/758059658
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

看懂了这套书,你就看懂了程序的灵魂。

在程序设计领域,有一部气势恢弘的史诗级作品,计划出版七卷,那美国老头写了很多年也没有写完,这作品影响力非凡,你…知道是哪部吗?

漫画来自《神秘的程序员:什么塑造了今天的编程世界》,一本专为程序员创作的漫画编程史周历

这就是那套无数程序员在书架上珍藏好久,数次翻开又合上,最后一年过去了,才看完 100 多页的那套书——《计算机程序设计艺术》!

神书讲究的是精神的力量,就算暂时没有读完,只是摆在书架上,也会觉得安心。没错!是信仰!

洋洋数百万言的多卷本《计算机程序设计艺术》始于 1960 年代。其地位可以与数学史上欧几里得的《几何原本》相比,堪称计算机科学理论与技术的经典巨著。

计算机科学界的大牛们随时随地都能从这套书中得到启发和灵感:

在上大学时,有那么几个月我连房租都没交,就是为了买他的书。我读过这些书,从中得到了不少乐趣,比如在第一卷的索引有个关于拖车的笑话就很好玩。我到现在为止还没能把书上的内容全部搞懂。Knuth对某些地方的研究要比我深入得多,但我还是喜欢这些书并把它们当做参考资料。——Douglas Crockford(JavaScript大宗师)

事实上,我从来没有读完这一套书,没有从头到尾看过。但当我研究某个具体算法的时候,我就去看他会怎么说。往往可以得到我想要的东西,这套书太全面了。—— Joshua Bloch(Java集合框架创办人)

有段时间我拿它当我的显示器底座,因为它是我最大部头的成套书之一,而且高度恰好合适。我感觉这样很舒服,因为它总在那儿陪着我,而且因为它就在我面前,所以我找参考书的时候就更容易去顺手翻翻它。——Peter Norvig(计算机科学家

就连这套书的首席“教徒”比尔•盖茨曾经都说过:“如果你自以为是一个很好的程序员,请去读读高德纳的《计算机程序设计艺术》,要是你真把它读下来了,毫无疑问你可以给我递简历了。

所以,读完TAOCP的人,有给盖茨发简历吗?

就是**这样一套神书,如今已经出版了一百多万册了,无数程序员们为之神往。**那它究竟出自何人之手呢?作者就是当代最伟大的程序员之一高德纳。图灵教育曾于 2011 年访问过高德纳教授,访谈内容见:Donald E. Knuth(高德纳):总有一些事超越我们的理解

**他是当代的算法精神领袖。**1974年图灵奖获得者;1979年美国总统卡特亲自向他颁发了全国科学奖章;1995年获得冯·诺伊曼奖和Harvey奖;1996年获得日本 INAMORI 基金会设立的京都奖,这个奖是专门奖励在高科技领域作出贡献的科学家的。

你听说过用图灵奖奖杯来装水果的吗?高德纳做到了。对于这些奖项,高德纳一直都是以平常心对待,他也从不在意这些。他已经深深投入到了计算机科学的世界。

《计算机程序设计艺术》是高德纳一生中最重要的事业。1992 年,为了能完成这部巨著,他退休回家专注写作。他总共收了 28 个博士,此后没再收过任何人。

他写这套书的目的是“组织和总结所知道的计算机方法的相关知识,并打下坚实的数学、历史基础”。

有趣的是,他并不想让这套书吓到大家而被束之高阁,而是鼓励大家发现书中的错误。

如果你能发现书里的错误,便可以给他发送邮件,如果是被确认的勘误,你将会获得神之支票,金额为 $2.56 美金。

为啥是 $2.56 美金呢?因为“ 256 美分刚好是十六进制的一美元”。大神的世界果然让人琢磨不透。

除此之外,他还是个完美主义者。这款处女座的专属排版软件——Tex,你值得拥有。

在修订第七卷的时候,因担心印刷质量影响出版效果,于是在写作期间,他用八年时间开发了这套排版软件。

用他的话说:“我花了整整 15 年时间写书,如果都这么难看,我就再也不写了,我又怎么能以他们为豪呢?”

目前该软件已经成了学术界必备的软件之一,广泛地应用于数学,物理以及计算机界,能优美地处理复杂的公式。

TEX功能强大,有着有趣的版本号码。从TEX第三版开始,之后的升级是在小数点后加入一个新数位,使之越来越接近圆周率 π 的值。

Tex 目前的版本是 3.1415926。这显示了 TEX 已经十分稳定,任何的升级都十分细微。高德纳曾表示 :

“最后一次升级是(在我过世后)将版本数改为 π,那时任何余下的漏洞将被看作程序的功能。”
当然,我们希望这一天永远不要到来。

这样一个伟大的人,他好似我们身边任何一个普通的人。但在对待程序这件事情上,他做到了淋漓尽致,这就是对计算机最伟大的敬意。

有人觉得这套书很难,至少大部分人都觉得这书不简单。对此,高德纳说过:“要是看不懂,你可以考虑一下自己是不是要继续当程序员。”

程序员还是要做的,书也是要读的。其实,阅读此书就好比修炼内功,是一个长期的盖楼过程,急不来的。只有你能了解到最底层的东西,才会更清楚计算机在想些什么。千万不要被前人的经验吓倒,尝试一下总会有新发现。

**中文版自出版以来,深受读者喜爱,豆瓣评分都在 9.0 以上。**有人戏称它为“只有促销才敢下手的图书”。这也是程序员间最拿得出手的送礼方式,高逼格,有心意。

从去年开始陆续有读者询问最新版本卷4A的中文版何时出版。经过漫长的等待,这套计算机史上的巨著离它的完整又近了一步。

新版本卷4A 讲解的是组合算法。内容主要涉及到布尔函数、按位操作技巧、元组和排列、组合和分划以及所有的树。

之前在微博上,看到一个小伙伴立的 Flag ,他把读完“计算机程序设计艺术”系列称作自己的“十二五规划”。

我注意到他的卷4A 还是英文版的,不得不佩服这位兄台的勇气。不过,为了加速他完成任务,我很想告诉他,中文版已经上市啦!

不知道是不是冥冥中,《计算机程序设计艺术卷 4A:组合算法(一)》的译者之一,李伯民老师,曾就任于中科院高能物理所任计算机中心主任,今年已经 86 岁高龄了,比高德纳教授还要大几岁。

他是一位非常自律的人,平日里除了从事高强度的翻译工作以外,他每周都会去爬山。

以八十多岁高龄,他仅在最近两年就已经征服过大海陀、白石山、泰山、崂山、五岳寨、嶂石岩、古北岳(大茂山)、七步沟马武寨等华北地区高峰,让我们年轻人钦佩不已。

李老师曾对我们说过:“希望你们年轻人能够锻炼好身体,才能把工作做好。”

这样的身体素质不仅秒杀我们这些亚健康的年轻人,我们更是为李伯民老师身上的坚毅品格所感动。如此高龄,还从事着繁重的翻译工作,是出于对这部作品发自内心的热爱。

除了这本卷4,卷1李老师也有参与翻译。另外,他还译过《微积分的历程》等书,是一位经验很丰富的译者老师。

(图左:李伯民老师,图右:本书责编,图灵副总傅志红老师)

出版这样一部巨作的过程是漫长的,期间要做的工作很多。为了给读者最好的阅读体验,我们的书稿都要经过三审三校,后期出版、选纸、印刷也都倾注了很多心血。这里也要感谢每一位为这本书贡献力量的老师们。还有我们的读者们,感谢你们对这本书的期待,让这一切变为可能。

最后,祝愿高德纳教授、李伯民老师能够健康长寿!为我们带来更多的佳作。

中文版《计算机程序设计艺术 卷4A:组合算法》

《计算机程序设计艺术 卷4A:组合算法》

作者:[美] 高德纳

译者:李伯民,贾洪峰

《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第4卷A,书中主要介绍了组合算法,内容涉及布尔函数、按位操作技巧、元组和排列、组合和分区以及所有的树等。

想要了解更多编程发展史,《神秘的程序员》2021漫画周历满足你!

有趣有料有内涵,还带一点儿小吐槽~

正面:历史×漫画
纵览200年编程史中56件里程碑事件
以时间为经,以史事为纬
将波澜壮阔的历史一览无余
背面:周历×笔记
在周历笔记中规划记录自己的成长史
从今天开始,向梦想前进
在前辈的指引下成为更好的自己

推荐阅读:

有哪些你看了以后大呼过瘾的编程书?6347 赞同 · 72 评论回答

人民邮电出版社:最伟大的计算机程序员是如何诞生的?——解读高德纳60 赞同 · 4 评论文章

学编程,有哪些推荐的数学书?1404 赞同 · 31 评论回答

给非计算机专业学生提供一份较为全面的书单以自学计算机专业知识,你有哪些好书值得推荐?1576 赞同 · 33 评论回答

作为一个有理想的程序员,必读的书都有哪些?404 赞同 · 13 评论回答

更多计算机好书可关注

@人民邮电出版社

,我们会持续推出优质的计算机知识和图书资源!