他是现代计算机科学的鼻祖,编程界的上帝

简介:

他是历史上最年轻的图灵奖获得者

经典巨著《计算机程序设计的艺术》的作者

写作排版神器TEX软件的创造者

现代计算机科学的鼻祖

他就是计算机领域的艺术大师——

唐纳德·克努特


他在8岁的时候

为了帮自己班级

在一个拼写单词活动夺得冠军

装病待家里两周背单词

最后比赛时写出了4500多个单词

比裁判所准备的还要多出2000个

然后他笑着说:我还能写出更多~

从此他在班里的人气就一直居高不下


其实他高一的时候

更喜欢听音乐与作曲

甚至还一度考虑过报考音乐专业

真正使得他和计算机结缘

则是在他大一暑假留校打工的时候

当时他工作的隔壁房(学校的机房)

放了一台IBM650计算机

他在学校机房里研究了好几天

大二结束后他选了数学专业

后来还设计了一个数学模型

根据球员在每场比赛中的多项表现的统计数据

对球员进行综合评估

(评估计算则通过程序交给了计算机)

球队教练根据他的程序挑选和使用球员

最后让学院赢得了联赛冠军

他还曾在《美国数学月刊》

发表一篇名为卫生纸问题 的论文

研究如何合理使用厕纸的算法

小节标题中使用了大量的粪便学词汇

编辑警告他过度调侃的文风是危险的

唐稍微替换了几个小标题的粪词

表示不想改也无需再改了

编辑无奈之下只好表示:

你的厕纸被接受了!

1964年,他被约稿创作一本

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

结果拖了4年都还没有动静

编辑终于忍不住问他书写咋样了

他回答:才只写了3000页

都还没进入主题

编辑拉长了下巴,目呆口滞

也只能帮他出多卷本了

于是就有了

《计算机程序设计艺术》系列丛书

这一套书是编程史上最伟大的书之一


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

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

和处理不同问题要用到的算法

后来第二卷、第三卷也相继出版

1973年系列丛书销量已经突破百万

这套包罗万象的计算机丛书

受到了图灵奖评委会的关注

按照唐纳德的计划

该系列丛书一共有7卷

这才出到第3本

图灵奖的评委们已经忍不住

把奖杯送给他了...

从此他家就多了一个水果盘......

那年,他只有36岁

他也成为了图灵奖至今年龄最小的获奖者


图:碗状的图灵奖杯


本来他应该继续写系列丛书的

但作为一个完美主义强迫症

他实在无法忍受如此低劣的排版技术

居然把他的艺术品印的这么难看

他在采访中说:

我忍了很久了,当今的文字排版技术太烂了,破坏了我著作的美感,我要去开发更先进的排版技术,更优美的字体,让我的书看起来更漂亮!

笔耕一辍就是十年

在这十年之间

唐纳德发布了三个响亮的成果:

METAFONT字体设计系统、

文学化编程(Literate Programming)、

以及著名的TEX排版系统

如果大家用word写过复杂的数学公式

或者在公众号排版放过几个公式

都会知道放出来预览一看

那种传统排版所带来的咬牙切齿的感觉

编辑时还可能会有什么行间距段前距段后距

字体字号字距粗细等细节问题

影响美观

而TEX系统则完全解决了这些问题

简直是强迫者自我满足的终极神器

它大大加快了学术论文的编写速度

直至如今TEX还是全球学术排版的不二之选


TEX的版本号不是自然数列

而是从3开始

不断地逼近圆周率

目前最新版本是3.1415926

意思就是在说

我的系统已经无限接近于完美了

没有什么要改的地方了...

此外他还为TEX系统设立了奖金

第一个发现系统漏洞的人

可获得2.56美金

第二个人可获得5.12美金

依此类推

……

从版本推算,现在送出的支票

已经去到了327.68美金

但收到支票的人都几乎没去银行兑换

只是把支票当做自己的纪念收藏品

凭借他的这些成果

他获得了美国总统卡特亲自颁发的

美国国家科学奖奖章


有了漂亮的排版和优美的字体

高德纳重启了系列丛书的写作

但由于计算机领域发展迅速

至今只写到第四卷第一部分(4A)


这套丛书如今早已成为

程序员界的圣经

唐纳德也因此成为了编程界的上帝


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


唐纳德认为编程是一门艺术而不是一门科学

因为艺术是人创造的,科学不是。

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


按照这个逻辑

全世界的各位码农

其实都是殷勤的艺术家

 原文发布时间为:2016-09-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
运维 监控
浅析SPI与CAN通信
SPI是一种常用的MCU与外设的通信方式,英文全称Serial Peripheral Interface。与之前介绍过的UART不同,SPI是串行,全双工,同步通信方式。SPI通常有4根物理连接线,分别是CS片选,SCK时钟,MOSI主机输出从机输入和MISO主机输入从机输出。CS片选是从机选择信号线,低电平有效。当CS为低电平时认为主机目前选中的本从机。SCK是串行时钟线,同步通信需要主从机时钟同步,主机利用SCK线与从机实现时钟同步。时钟由主机产生,决定了通讯的速率。
924 0
|
分布式计算 关系型数据库 BI
加速查询MaxCompute再对接FBI(帆软)的完整链路来啦!
本文旨在分享使用交互式分析查询MaxCompute数据,再对接FBI的完整链路,快速搭建大数据生态完整链路。
5025 0
|
12月前
|
数据采集 JavaScript 前端开发
浏览器自动化检测对抗:修改navigator.webdriver属性的底层实现
本文介绍了如何构建一个反检测爬虫以爬取Amazon商品信息。通过使用`undetected-chromedriver`规避自动化检测,修改`navigator.webdriver`属性隐藏痕迹,并结合代理、Cookie和User-Agent技术,实现稳定的数据采集。代码包含浏览器配置、无痕设置、关键词搜索及数据提取等功能,同时提供常见问题解决方法,助你高效应对反爬策略。
1060 1
|
算法
算法提高:计算几何基础 | 详解凸包问题
点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上,或者在其内
536 0
算法提高:计算几何基础 | 详解凸包问题
|
计算机视觉 Python
ImageDraw, ImageFont
【9月更文挑战第25天】
421 3
|
资源调度 分布式计算 Hadoop
揭秘Hadoop Yarn三大调度器:如何玩转资源分配,实现高效集群管理?
【8月更文挑战第24天】Hadoop YARN(Another Resource Negotiator)是一款强大的集群资源管理工具,主要负责高效分配及管理Hadoop集群中的计算资源。本文深入剖析了YARN的三种调度器:容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)以及FIFO调度器,并通过具体的配置示例和Java代码展示了它们的工作机制。
471 2
|
搜索推荐 网络架构 UED
什么是超链接?
本文介绍超链接的基本概念及其在网络中的重要性。超链接作为Web的核心组成部分,由蒂姆·伯纳斯·李在1989年提出,与URL、HTTP共同构成Web的三大支柱。通过链接,用户能轻松从一个文档跳转至另一个文档。文章探讨了不同类型的链接,包括内部链接、外部链接与传入链接,并介绍了锚点链接的功能。此外,还强调了链接对于用户体验及搜索引擎优化(SEO)的重要性,以及如何合理构建链接以提升网站的可用性和搜索引擎排名。最后,提供了进一步学习资源,帮助读者深入了解URL结构与超链接的实际应用。
1805 3
|
机器学习/深度学习 IDE 开发工具
云端IDE如何重定义开发体验
【7月更文挑战第19天】云端 IDE 重定义开发体验: - **提高协作效率**:允许多人实时共编,避免版本冲突。 - **便捷的环境配置**:提供预配置环境,快速启动项目。 - **随时随地访问**:任意设备上均可接入开发环境。 - **强大的计算资源**:支持高性能计算任务加速。 - **自动备份和版本控制**:确保代码安全,便于回滚。 - **易于集成其他云服务**:简化开发流程,提高效率。总之,云端 IDE 以其独特优势革新了开发模式。
459 0
|
前端开发
若依部署,部署常见流程之先部署网页的后端系统,让自己的前端能够看到内容,先部署后端,让前端在本地跑起来-----吃饱了撑死了大佬建议,正确的部署流程
若依部署,部署常见流程之先部署网页的后端系统,让自己的前端能够看到内容,先部署后端,让前端在本地跑起来-----吃饱了撑死了大佬建议,正确的部署流程
|
安全 5G 测试技术
5G的要求和主要性能指标 | 《5G移动无线通信技术》之六
这里对前面章节所述用例的要求加以总结,表达了5G主要性能指标(KPI)。
5G的要求和主要性能指标 | 《5G移动无线通信技术》之六

热门文章

最新文章