原标题:他花了54年编写一套书,直到现在还没写完,却已经被奉为编程圣经

每个行业都有那么几本

被奉为“圣经”的大作。

这类书往往又高深又莫测

不管你读没读懂反正只要读(fan)过一两页了

就能拿出来炫(zhuang)耀(bi)了。

比如这本编程界的圣经、攻城狮们的养成之书

《计算机程序设计艺术》

史称“TAOCP”

比尔·盖茨曾说:

“如果你认为你是一名真正优秀的程序员……读高德纳的《计算机程序设计艺术》,如果你能读懂整套书的话,请给我发一份你的简历。”

这也不能怪人家比尔·盖茨,

毕竟这套书就是这么难懂啊!

按照计算机领域的艺术大师高德纳的计划,

TAOCP一共有7卷,

目前才写到第5卷。

第一卷的书名叫做《基本算法》

讲述编程时要用到的基本数学知识

和不同领域要用到的算法。

可是人们买回家后发现,

基本你个头啊,

这书超难懂的好不!

初学者根本看不懂啊!

对此,

咱们的高德纳大师是如此解释地:

“我知道我的书是不容易读,不过要知道的是,如果不是我精雕细琢地写的话,它们会比现在难读一百倍。”

高德纳大师是很有底气

很有资格说这番话的。

毕竟人家作为现代计算机科学的鼻祖,

完成了编译程序、属性文法

和运算法则等领域的前沿研究,

拿奖拿到手软,

至今还保持着图灵奖年龄最小的获奖者。

而这个被无数计算机学者憧憬的奖项,

他却在家里把奖杯当做盛水果的盆……

高德纳

高德纳1938年出生于

威斯康辛州密歇根湖畔的密尔沃基(Milwaukee)。

8岁的时候就展现出了

碾压凡人的超凡智力+心计

当时有个糖果商以小学生为

参与对象举办了一项益智趣味比赛,

要求用“Ziegler’s Giant Bar”

里的字母写出尽可能多的单词。

孩子们大都只能写出几十个单词。

但高德纳假装胃疼在家宅了两周,

依靠一部大字典列出了4500个单词,

超出裁判掌握的2000个单词一倍多。

作为冠军的他,在赛后如此感言:

我还能写出更多

高中的时候,

高德纳还未对数学发生太大兴趣,

他更喜欢捣鼓音乐与作曲,

还一度认真的考虑过

要不要报考音乐专业神马的。

他几乎没有完整地听过一堂课,

但这些丝毫不影响他以科均97.5分、

那个学校历史最高的分数

考入当时美国最顶尖的研究型大学

凯斯理工学院物理专业

就是在这里,

他发现了比音乐更让他着迷的东西——

计算机

大学一年级高德纳留校打工,

负责把统计数字画成图表。

碰巧他工作室的隔壁就是计算机房,

新到了一台当时最先进的计算机

IBM650

庞大的机体和计算机工作时

快速闪烁变化的指示灯,

让高德纳产生了莫大的兴趣。

他接连好几天彻夜不眠地呆在机房里,

观察它工作,

还兴致勃勃地动手改了说明手册上的程序,

让IBM650比之前更加好用。

一年以后,

他还改学了数学,

终身都与计算机杠上了。

只是改了IBM650的程序还不够。

当时兼职学校篮球队的他突发奇想,

可以用IBM650写一个程序啊!

用来分析评估球员在每场比赛中得分、

助攻、抢断、篮板球、盖帽等一揽子数据,

帮助球队教练挑选球员。

这个在当时看来简直就是黑科技的程序,

使一直战绩平平的凯斯理工学院,

赢得了当年的联赛冠军。

学校的老师们都被

这个复杂的程序吓傻了,

高德纳毕业时,

直接破格授予了他硕士学位。

之后高德纳在伯克利攻读数学博士。

ALGOL60经常因为编译器不成熟出故障,

他为此编写了一个简单的测试程序,

人称“Man or boy test”(男人或男孩测试),

可以译成“是男人就得-67”。

高德纳解释说:

“用ALGOL60来编译这段程序,只要运行结果等于-67,就说明这个编译器没有问题了,是纯爷们儿。”

博士毕业的前一年,

有出版社约高德纳写一本

编译器和程序设计方面的书,

也就是直到现在都还在编写的

《计算机程序设计艺术》.

出版社1962年约稿,

4年过去了高德纳那边毫无动静啊!

编辑急了,忍不住去催,说,

这都4年了,你的书写的咋样了啊?

高德纳说:

我刚写完这本书的概述,才写了3000页,还没进入正题啦!

终于1968年,

《计算机程序设计艺术》第一卷推出了。

1973年,

这部刚出到第三卷的书就已经

被计算机界视为“神作”了,

卖出了100多万套,

译成了多种文字,

还为当时年仅才36岁的高德纳赢得了

国际计算机界的至高荣誉“图灵奖”。

但咱们的高德纳大师才不在乎得不得奖呢!

获奖的当年就宣布要暂停TAOCP的写作,

潜心研究字体和排版。

理由是:

现有的计算机排版软件效果太差太差了,完全破坏了我这套书的美。为了能够让我更赏心悦目地写下去,我要去开发更先进的排版技术,更优美的字体!

这个太任性的决定,

让全世界都在背后窃窃私语,

高德纳会不会是江郎才尽,

才以仅为借口,见好就收。

然而10年后,

高德纳带着两个响亮的成果:

METAFONT字体系统和TEX排版系统

打了世界的脸。

从METAFONT中字体的优美程度来讲,

可以说计算机界最懂字体的两个人,

一个是乔布斯,

另一个就是高德纳

费时10年专研排版美学打造的TEX系统,

至今仍然是全球学术排版的不二之选。

使用过word的大家一定会有类似的感受,

每次要处理复杂的公式时,

特殊字符都得一个个插入,

还得不断的调整字号字距让版式更好看。

TEX排版系统完美的解决了这个问题:

在TeX里加入一个变量badness,

用以衡量一行文字的美感,

变量越小文字就越美。

TEX功能强大、几近无懈可击,

高德纳自己也甚是满意。

连版本号都不走寻常路,

直接采用了圆周率,

最新版本为3.1415926——这等于在宣布

我的产品接近完美,

没有什么地方需要大的改动了……

高德纳还为此设置了悬赏奖金:

谁找出TEX里的一个bug,

就付给其2.56美元,

找出第二个5.12美元,

第三个10.24美元……

依此累加。

传说中的国王就是

玩指数游戏输掉了江山。

算法大师的他,

比谁都清楚指数增长的可怕性,

然而直到今天,

他只寄出过两张支票。

获奖者都没有去银行兑现,

而是将有他签名的支票当作文物珍藏了起来。

凭借这两项支线成果

高德纳获得了美国总统卡特亲自颁发的

美国国家科学奖奖章

再回到开头的那本

程序员的圣经《计算机程序设计艺术》

现在漂亮的排版和优美的字体研发完了,

高德纳如当初的承诺,

重拾笔耕撰写TAOCP。

为了专心写作,

高德纳还从任教的斯坦福提前退休,

并停用了电子邮箱。

2008年,

距离出版第三卷三十多年后,

第四卷终于在千呼万唤中出来了。

此时,高德纳也从意气风发的及冠之年,

步入了满头白发的古稀老人。

高德纳从不认为编程是一门科学,

而是一门艺术。

艺术是人创造的,而科学不是;

艺术是可以无止境提高的,而科学不能;

艺术创造需要天赋,而科学不需要。

今日话题

你觉得编程是一门科学还是艺术?

图灵机器人将在留言区里,随机挑选一位留言用户,赠送小米10000毫安移动电源一个~幸运小伙伴的名单将在2016年8月22日公布~欢迎小伙伴不吝分享~返回搜狐,查看更多

责任编辑:

计算机书籍圣经还没写完就出版,他花了54年编写一套书,直到现在还没写完,却已经被奉为编程圣经...相关推荐

  1. 为什么高质量计算机书籍几乎都是外国人写的?

    想象一下一个只跟风看过视频.跟着自己小学三年级的儿子学了三天.压根没真正玩过的英雄联盟的教授会怎样教你玩英雄联盟: 第一章 基本控制 第一节 鼠标的108种用法 --鼠标使用共分3个模式,108种用法 ...

  2. 我的计算机书籍创作心得

    书的结构 一本好的技术书,应该是一个前后连贯的整体,具有完整的体系结构.写作是一个从无序到有序的过程.可以把整个写作过程比喻为给一个人梳头发.最初是一头纠缠在一起的乱发,首先把它理顺,然后扎几十个大辫 ...

  3. 一个计算机爱好者的不完整回忆(二十八)关于计算机书籍

    我只在大学阶段在图书馆看了很多计算机方面的书,无论已经老得都残破了还是最新出版的.前两天又看到论坛中有关于计算机书籍特别是国内人士编写或翻译的计算机书籍的评论的文章,谭浩强老先生又毫无悬念的被牵连了进 ...

  4. (转)一些经典的计算机书籍

    以下列表中的计算机书籍(中文版)来自微博:@程序员的那些事 粉丝的推荐.按推荐次数,从高到低往下排.如果大家还有其他计算机相关的经典书籍推荐,请在评论中留言,或者在这条微博的评论中留言,我们将继续扩充 ...

  5. 一些经典的计算机书籍

    原文:http://blog.jobbole.com/1383/     http://blog.jobbole.com/5886/ 以下列表中的计算机书籍(中文版)来自微博:@程序员的那些事 粉丝的 ...

  6. 阅读英文原版计算机书籍的一些经验

    转自:http://hi.baidu.com/tkostar/blog/item/b6ffeb884285f86e9f2fb403.html 读英文原版计算机书籍也有一段时间了,谈一谈这方面的一些经验 ...

  7. 如何翻译一本计算机书籍?

    首先,恭喜你从吐槽方变成了被吐槽. 为什么你不应该翻译计算机书籍? 开始之前,我想一点泼冷水.毕竟,翻译不是一个好差事--费力不讨好,也不是一项适合每个人的 "工作". 除却不讨好 ...

  8. 有哪些你看了以后大呼过瘾的计算机书籍?

    推荐几本让程序员们爱不释手的经典书. 1.代码整洁之道 鲍勃大叔作品,程序员,汇聚编程数十年编程生涯的心得体会,阐释如何解决软件开发人员.项目经理及软件项目领导们所面临的棘手的问题. 本书提出一种观点 ...

  9. 转-最常被程序员们谎称读过的计算机书籍

    英文原文:Books Programmers Claim to Have Read 马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说.这种说法同样适用于" ...

  10. 最常被程序员们谎称读过的计算机书籍

    英文原文:Books Programmers Claim to Have Read 马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说.这种说法同样适用于" ...

最新文章

  1. 专访 | 微软首席数据科学家谢梁:从经济学博士到爬坑机器学习,这十年我都经历了啥?
  2. jquery $.post 超时_jQuery介绍
  3. os.makedirs和os.mkdir 生成文件夹
  4. 阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径
  5. 【Rollo的Python之路】Python 多进程 学习笔记 multiprocessing
  6. “对不起,我就是传说中的 10 倍工程师”
  7. java路径Java开发中获得非Web项目的当前项目路径
  8. Go语言程序的数组初始化
  9. CXF(2.7.10) - RESTful Services, JSON Support
  10. 小任务之使用SVG画柱状图~
  11. 什么情况下使用多线程
  12. java中的回调函数
  13. PDF颜色翻转以方便打印处理
  14. TS-Function
  15. java自行车s码适合身高_选购单车时,身高和尺寸对应表
  16. Dell笔记本更换系统主板后出现Microsoft Office Outlook Exchange 错误 80090016
  17. 京东详情页批量关联海报,提高转化80%
  18. xlrd.biffh.XLRDError: No sheet named <‘Sheet1‘>
  19. 【时间复杂度空间复杂度】
  20. 跨平台的EA交易: 信号

热门文章

  1. Allegro封装制作
  2. 干货满满!!!盘点交互式甘特图控件VARCHART XGantt用户手册、视频教程!
  3. 李宏毅机器学习——循环神经网络(一)
  4. 爬取豆瓣网新书传递信息,关系型数据库的储存
  5. reflections歌词翻译_Reflections中文歌词
  6. RQNOJ 169 最小乘车费用
  7. 清华计算机科学技术复试2018,2018清华大学计算机科学与技术系考研复试名单
  8. 信噪比计算方式(小问题解惑)
  9. windows优化大师怎么用_用智慧和爱心经营——班主任经验交流录音稿
  10. 单片机实验报告-片内外RAM的数据转移