当先锋百科网

首页 1 2 3 4 5 6 7

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


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

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

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

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

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

在上大学时,有那么几个月我连房租都没交,就是为了买他的书。我读过这些书,从中得到了不少乐趣,比如在第一卷的索引有个关于拖车的笑话就很好玩。我到现在为止还没能把书上的内容全部搞懂。Knuth对某些地方的研究要比我深入得多,但我还是喜欢这些书并把它们当做参考资料。——DouglasCrockford(JavaScript大宗师)
事实上,我从来没有读完这一套书,没有从头到尾看过。但当我研究某个具体算法的时候,我就去看他会怎么说。往往可以得到我想要的东西,这套书太全面了。——JoshuaBloch(Java集合框架创办人)
有段时间我拿它当我的显示器底座,因为它是我最大部头的成套书之一,而且高度恰好合适。我感觉这样很舒服,因为它总在那儿陪着我,而且因为它就在我面前,所以我找参考书的时候就更容易去顺手翻翻它。——PeterNorvig(计算机科学家)

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

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

就是这样一套神书,如今已经出版了一百多万册了,无数程序员们为之神往。那它究竟出自何人之手呢?作者就是当代最伟大的程序员之一高德纳。

他是当代的算法精神领袖。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:组合算法》

作者:高德纳

译者:李伯民,贾洪峰

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

内容来源:干货狗图灵教育

更多计算机好书可关注@人民邮电出版社,我们会持续推出优质的计算机知识和图书资源!