计算机鼻祖-Donald Knuth(高纳德) 的传奇
李开复说,练内功,不要仅仅花功夫学各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目。要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络,离散数学等基础课程学好。最好还是试试Donald Knuth的Art of Computer Programming里的题目,假设你可以解决当中的大部分题目,就说明你在算法方面的功力不错了。
Donald Knuth自传的开头这样写道:“Donald Knuth真的仅仅是一个人么?”作为
世界顶级计算机科学家之中的一个。Knuth教授已经完毕了编译程序、属性文法和运算法则的前沿研究。并编著完毕了已在程序设计领域中具有权威标准和參考价值的书目的前三卷。在完毕该项工作之余。Knuth还用了十年时间发明了两个数字排版系统。并编写了六本著作对其做了详尽的解释说明。如今,这两个系统已经被广泛地运用于全世界的数学刊物的排版中。随后。Knuth又发明了文件程序设计的两种语言,以及“文章性程式语言”相关的方法论。
到眼下为止,Knuth已经出版发行了17部书籍,一百五十余篇论文,包含了巴比伦算法、圣经、字母“s”的历史等多方面的内容。作为
一名数学家。Knuth曾开创了几门新的课程,为纯计算数学做出了非常大贡献。他所获得的奖项和荣誉数不胜数,当中最值得注目的有1974年美国计算机协会图灵奖(ACM Turing Award)。1979年美国前总统
卡特授予的科学金奖(Medal of Science)以及1996年11月因为发明先进技术荣获的极受尊重的京都奖(Kyoto Prize)。在不多的业余时间里。
Knuth不仅写小说,还是一个音乐家、作曲家、管风琴设计师。是Knuth独特的审美感决定了他兴趣广泛、富有多方面造诣的特点。Knuth传奇般的生产力也是源于这一点。
对于Knuth来说,衡量一个计算机程序是否完整的标准不只在于它是否可以执行,他觉得一个计算机程序应该是雅致的、甚至可以说是美的。计算机程序设计应该是一门艺术,一个算法应该像一段音乐,而一个好的程序应该如一部文学作品一般。