编程教皇
不知道各位是否有概念,一本措辞严谨,难度等级为五颗星的专业类书籍销量一般是多少?在国内,一般过万就属于热卖了。今天我要讲的这位大咖,在计算机编程圈子里说是教父级人物都算低就,应该说是教皇级人物。他写的《计算机程序设计艺术》——The Art of Computer Programming.”(目前只完成来了7卷中的前4卷。)一问世就买了一百多万册,并被翻译成多种语言,包括中文。
已发表的四卷
1999年底,美国权威的科学杂志评选出了上个世纪12本最重要的物理科学类专著,程序设计艺术和爱因斯坦的《相对论》等一起上榜。
在它第三版的封面上,印着盖首富的推荐:如果你想成为一名优秀程序员,请读下程序设计艺术,如果你能把这本书读完,务必把你的简历发给我。盖首富自己也花了好几个月时间才读完第一卷,他写道:如果你认为自己无所不知,那么这本书会让你知道计算机世界何其深奥复杂。
头号粉丝盖首富
曾经有书评家这样讲“如果真的有计算机科学的可兰经或圣经的话,非程序设计艺术莫属。”从此《计算机程序设计艺术》被赋予另外一个名字——计算机的圣经。想当年在美国读研的时候,我也看了前三卷,那些带星号的难题夺去了我多少宝贵的睡眠。
凭借此书,作者36岁获得图灵奖,至今保持最年轻的获奖者记录。
前面写的“向IT一姐致敬”中提过一嘴的Donald Knuth,就是圣经级宝典的作者。斩获各个级别的多项大奖就不一一列举了,毕竟图灵奖都得了,剩下的奖项手到擒实属正常。
编程教皇Knuth
斯坦福大学实在不知道该如何表达对这位教授的敬意,就让Knuth为自己选个头衔,结果他选的是“计算机程序设计艺术名誉教授”。我相信,Knuth在名誉面前是有几分呆萌的。他获图灵奖时,得到一个碗状奖品,一直被用来放水果。
Knuth1938年1月10日出身于威斯康辛州密歇根湖畔的密尔沃基(Milwaukee),这可是一个人杰地灵的地方,“人工智能之父”、唯一同时获得诺贝尔奖和图灵奖的H.A.Simon是他的老乡。Knuth的家庭可以说是出身寒门,曾祖父是个铁匠,祖父是个看大门的,老爸是家族里第一个念大学的人。Knuth回忆虽然长辈们受教育程度都不咋样,但个个打得一手好牌。(说明麻将打得好脑子都不差)
Knuth很小的时候就表现出天赋异禀。8年级时,当地的Ziegler糖果厂为了促销其称为Giant Bar的一种棒棒糖,搞了一个比赛,看谁能用“Ziegler’s Giant Bar”中的字母排列组合出最多的单词。Knuth假装胃疼,在家里呆了两个星期,利用一部大字典,找出了4500个单词,而裁判一开始认为2500个单词已是极限。不用说,他不仅赢了一等奖电视机,还让班上所有人得到一块Giant Bar。
1956年,Knuth以全年级第一的成绩从高中毕业,他没上常春藤之类的名校,而是去了Case Institute of Technology (现在叫Case Western Reserve University)物理专业,后来偶然的机会接触到学校的一台IBM650,这个体积庞大的机器引起Knuth极大的好奇与兴趣,接连好几天不眠不休地呆在机房,观察它的工作,钻研使用手册,探究计算机的奥秘。没多久,为了和计算机相伴,他果断改学数学。在他的《计算机程序设计艺术》第一卷的卷首,他没把书献给自己的爹妈啊老婆啊,而是“献给曾经安装在Case Institute of Technology的650型计算机,以纪念那些愉快的夜晚”可见,Knuth有多爱那个650。
大师当年
大学仅四年Knuth就把学士和硕士一起拿下,之后他进入加州理工学院,1963年获得博士学位,留校工作至1968年,然后跳槽斯坦福大学。在加州理工学院读博士时,Knuth开始打工,写一些编译程序,在圈子里也慢慢有了点名气。
1961年下半年,一个不速之客来拜访新婚不久的Knuth,他自称来自著名科技出版社Addison-Wesley。他希望Knuth能写一本如何编写编译程序的书。Knuth觉得写这本书简直是手到擒来,满口答应。但在写了12章之后,Knuth发现仅仅写如何开发Fortran编译程序的书实在太窄了,他更加感兴趣的是计算机算法分析,许多算法问题的分析解决最后都会变成一个美妙的数学问题。于是,写着写着,轨迹偏离了初衷设想,成了他一生的工程。
编辑左等右等没动静,石沉大海般,到了1966年实在忍不住了,问是否还记得书约呢?Knuth写得正嗨皮,马上把写好的3000页书稿寄给了编辑,并告诉他这才是开始。我们这位编辑心理素质没的说,大惊之下还很镇静,他让Knuth自由发挥并建议分卷出版。
第一卷《基本算法》于1968年出版,第二卷《半数字化算法》于1969年出版,第三卷《排序与搜索》于1973年出版。这三卷书轰动了计算机世界,Knuth因此于1974年获得了图灵奖。而第四卷A部分《组合算法》到了2011年才出版,中间间隔了近四十年。
很多人认为Knuth停顿写作是因为江郎才尽,我倒更接受作者自己的说法。据Knuth说,他实在受不了当时书的排版,于是Knuth自己撸起袖子来把计算机排版系统给搞定了。他发明了字体设计系统METAFONT(这对整个西文印刷行业带来了革命性的变革)、文学化编程(充分展示程序设计的艺术性:清晰,美感,诗意)和革命性的排版系统TEX(至今仍是全球学术排版最好的系统)。有些人说仅凭这三个成就也该给他个图灵奖,我觉得起码毕昇奖是可以发的。
在Knuth个人网站上,你可以看到他的写作计划,第五卷预计2025年出版,到时作者已是87岁的老人了(估计我那个岁数还认得我儿子就不错了)。至于第六卷第七卷,我只能在心里默默送上祝福。
在他个人网站上,他悬赏鼓励读者发现其著作中错误的人,第一个错误数额是2.56美元,第二个翻倍,第三个继续翻倍,以此类推。(256美分刚好是十六进制的一美元),曾经也有寥寥几个人发现纰漏得到了他签名的支票,都很机灵的没去银行兑换,收藏起来了。
估计将来价值不菲的支票
如果你发现了程序设计艺术书中的错误,可以发邮件到taocp@cs.stanford.edu或写信给我们的编程艺术家,地址是:
Donald E. Knuth
Computer Science Department
Gates Building 4B
Stanford University
Stanford, CA 94305-9045 USA.
《编程教皇》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/336.html