编程只是一门科学吗?其实它也是一门艺术

2017-12-29T07:51:50.000Z|28301

大家可能对“高德纳”并不很熟悉,但在程序员的圈子里,这个名字可真的算是如雷贯耳,有着极大的声望和影响力。高德纳是他的中文名,而他的英文名字是唐纳德·克努特。他的一生成名极早,29岁时便提出算法与数据结构概念,36岁就成为历史上最年轻的图灵奖获得者。他被誉为20世纪最重要的12本物理科学类专著之一,也是经典巨著《计算机程序设计的艺术》的作者、写作排版神器TEX软件的创造者,一点不为过的说,他就是“现代计算机科学的鼻祖”。



斯坦福大学曾让高德纳为自己选择一个头衔,他确定的是“计算机程序设计艺术名誉教授”。他认为“计算机科学”不是科学,而是一门艺术。它们的区别在于:艺术是人创造的,而科学不是;艺术是可以无止境提高的,而科学不能;艺术创造需要天赋,而科学不需要。


八岁时的高德纳即显出超凡智力:当时某糖果商以小学生为参与对象举办了一项益智趣味比赛,要求用“Ziegler’s Giant Bar”里的字母写出尽可能多的单词。高假装胃疼宅家两周,依靠一部大字典列出了4500个单词,使所在班级夺冠,本人也赢得一付雪撬。


在数学上,高德纳也很早就表现出天才。高中一年级时,他发明了一种方法,利用这种方法,对任意画出的2条相交直线,他能立即给出相应的方程。


高德纳中学时创作的科幻小说《普茨比度量衡体系》发表于著名的《疯狂》(Mad)杂志,挣得平生第一笔稿费25美元及西屋“科学天才”提名奖。



大学一年级留校打工,毗邻的计算机房新到了一台IBM650——这让高德纳生出莫大兴趣。当获准在晚上操作那台计算机后,他几天不眠不休地观察探究,并且改动了说明手册上的程序使之更加好用。一年后,高改入数学系,自此终生同计算机结缘。



当时兼职学校篮球队的他用IBM650写了一个程序,用于对球员在每场比赛中得分、助攻、抢断、篮板球、盖帽等一揽子数据的分析评估,球队教练据此挑选球员,使凯斯理工学院赢得了1960年的联赛冠军。高德纳1960年毕业于凯斯理工学院,因学业特别出色,被破例同时授予学士和硕士学位。之后他进入加州理工学院研究生院,1963年获得博士学位,留校工作至1968年,然后转入斯坦福大学任教。



高德纳习惯用铅笔而非键盘写初稿,高将原因归咎于打字速度远高于思考速度(每分钟 80 个单词以上),而这会导致思考出现太多停顿,用铅笔可以让思考与输入速度保持一致。



高德纳改作业通常是随机翻到一页认真批阅,有了一个初步印象后,对剩下的内容就只大概看看了。阅读大致也照此办理:遇上大部头先读第316页,如果书比较薄就看第100页;随后就可以作出判断了,据说准确率还八九不离十。


高德纳有一篇名为“卫生纸问题” 的论文,研究如何合理使用厕纸的算法,小节标题中使用了大量的“粪便学”词汇。编辑警告他,过度调侃的文风在我们这里是危险的,请三思!高替换了小标题里的某些词,但不想动文章标题,遂在给编辑的回信里写道:我用这个题目做过两次演讲,主题早已被广泛采用和讨论……云云。编辑无奈之下只好表示:“你的厕纸被接受了!”


在伯克利毕业的前一年,著名的艾迪生-韦斯利出版社约高德纳写一本编译器和程序设计方面的书,出版社1962年约稿,可直到1966年还动静全无,编辑忍不住去电催促,说都过去4年了,书写到啥程度了啊?高答才3000来页,还没进入正题呢。编辑崩溃地说,那只能出多卷本了……《计算机程序设计艺术》第一卷1968年推出,可真正能读完读懂的人为数并不多。1973年,这部刚出到第三卷的书(计划写七卷)已被计算机界视为“神作”,最初几年就卖出100多万套。



“我尝试尽我所能的去熟悉电脑科学里的一些领域,然后把这些知识摘要成大家比较容易了解的方式,让没有那么多时间做这种学习的人也能够吸收它们。”——高德纳


© 著作权归作者所有,未经许可,禁止转载
返回标签前往论坛 © 著作权归作者所有。未经许可,不得转载。
发送
文章评论
写评论
0条 共 0页 到
GO

已经到底了哦~

加载更多评论

  • “代码岛”第4关攻略编程
  • “代码岛”第4关攻略
    你只要往它里面塞进你需要重复进行的动作,并设定好重复的次数,它就会重复的进行里面的动作,知道次数达到为止。比如:走5格,只要在循环积木里面放进【走1格】积木,然后设置循环次数=5次,即可。
    |24100
提示

©2017-2018-厦门纯游互动科技有限公司版权所有