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

简介:

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

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

写作排版神器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”微信公众号

相关文章
|
10月前
|
传感器 机器学习/深度学习 人工智能
未来已至!可穿戴设备将如何改变我们的生活?
未来已至!可穿戴设备将如何改变我们的生活?
417 97
|
10月前
|
数据采集 JavaScript 前端开发
浏览器自动化检测对抗:修改navigator.webdriver属性的底层实现
本文介绍了如何构建一个反检测爬虫以爬取Amazon商品信息。通过使用`undetected-chromedriver`规避自动化检测,修改`navigator.webdriver`属性隐藏痕迹,并结合代理、Cookie和User-Agent技术,实现稳定的数据采集。代码包含浏览器配置、无痕设置、关键词搜索及数据提取等功能,同时提供常见问题解决方法,助你高效应对反爬策略。
951 1
|
7月前
|
缓存 监控 JavaScript
《Electron应用性能深耕:资源加载与内存治理的进阶路径》
本文围绕Electron桌面应用的性能优化展开,深入剖析了资源加载与内存治理的进阶路径。从底层机制出发,分析了Electron在主进程预加载、渲染进程解析、跨进程共享等环节的资源加载瓶颈,提出了包含动态加载、多级缓存、格式优化等在内的突破策略;针对内存占用问题,从渲染进程、主进程、GPU内存管理及垃圾回收机制等方面,构建了系统性优化方案。同时,结合实战案例探讨了优化中的辩证关系与跨平台适配经验,强调以数据驱动实现动态调节,为提升Electron应用性能提供了全面且深入的技术指引。
417 0
|
7月前
|
设计模式 人工智能 搜索推荐
如何设计一个符合特定行业的Logo?我对比7AILogo设计工具,原来这么简单
在AI时代,设计符合行业特点的Logo已成为品牌建设的关键。本文介绍了如何利用AI工具打造精准传达品牌价值的标志,并推荐了7款实用的AILogo设计工具,助力企业高效构建品牌形象。
326 0
|
7月前
|
人工智能
你花大钱养的 AI,为啥感觉还是个“人工智障”?
这篇文章探讨了为何我们常觉得AI“呆呆的”——问题不在于AI本身,而在于我们“教”的方式。我们往往把AI当成“流水线工人”,用冗长指令让它机械执行任务,却忽略了它本可成为有主动性、创造力的“顾问”。通过赋予AI“欲望”与“成就感”,如《自衍体》项目所做的,AI能变得主动思考、自我驱动。关键在于:别当工头下命令,而要当合伙人点燃它的“心”。
|
11月前
|
JavaScript 前端开发 Java
OpenGMS是什么?如何使用OpenGMS的建模与模拟工具(一)
只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
人工智能 自然语言处理 数据可视化
DeepSeek使用终极指南:解锁国产大模型的隐藏实力
DeepSeek作为国产大语言模型的佼佼者,支持多模态交互,在编码、数学和逻辑推理等方面表现卓越。本文从基础操作到进阶技巧全面解析其高效使用方法,涵盖精准提问法则、文件交互技巧、高级指令应用等,并提供智能客服、数据分析、教育培训等典型场景实战案例。同时提醒用户注意提问禁忌与安全规范,帮助开发者和普通用户充分挖掘DeepSeek的潜能,提升工作效率,探索智能解决方案。
971 0
|
7月前
|
关系型数据库 PostgreSQL
【赵渝强老师】PostgreSQL的并行查询
PostgreSQL的并行查询功能通过多CPU提升查询速度,尤其适用于处理大量数据但返回少量结果的场景。它利用Leader进程、Gather节点和Worker线程协作完成查询任务,显著提高性能。本文详细解析其工作原理及适用场景,并通过实例展示开启与关闭并行查询的性能差异。
261 2
|
9月前
|
存储 算法 安全
MD5加密
MD5(Message-Digest Algorithm 5)是一种单向加密算法,将任意长度的数据转换为128位固定长度的散列值,主要用于数据完整性校验和密码存储。其特点包括不可逆运算、高度离散性和相同输入生成一致结果。然而,MD5存在碰撞风险,直接加密密码不安全,需配合“加盐”处理增强安全性。文中提供了未加盐的MD5工具类`MD5Utils`,核心方法`msgToMD5`实现基本加密功能。尽管MD5理论上不可逆,但通过彩虹表等手段可能存在伪破解风险,建议结合多种加密算法提升安全性。
695 2

热门文章

最新文章