计算机科学史上最具影响力的7篇论文

在开始之前,先澄清一下:是的,这是一份主观的清单。它不是为了结束辩论,而是为了开始辩论。这七篇论文(按日期排序)之所以让人印象深刻,主要是因为它们对当今世界的影响。老实说,每一篇都值得写一篇博客文章(甚至一本书!)——但现在先简短一点。如果你最喜欢的没有出现在这里,别担心,请继续看最后的其他部分。

1. 《论可计算数及其在判定问题上的应用》(1936)

作者: 阿兰·图灵

那是 20 世纪 30 年代,“可编程机器”听起来就像科幻小说里的情节。后来艾伦·图灵的出现为计算机理论上可以做什么奠定了基础。他勾勒出了一个假想的“图灵机”,证明如果某件事是可计算的,那么机器(原则上)就可以处理它。在这里插入图片描述

伟大的想法

图灵的简单模型——只有一卷磁带、一个读写头和一组有限的状态,却成为了所有现代计算的鼻祖。它从纯机械的角度定义了什么是可解的(什么是不可解的),基本上为提供了数字问题解决的“游戏规则”。

为什么这在今天很重要

每一种编程语言、每一段代码都遵循图灵规则。即使谈论量子计算,仍然参考图灵描述的边界。这充分证明了 20 世纪 30 年代中期发表的一篇论文的威力。

2. 《通信的数学理论》(1948)

作者: 克劳德·香农

既然图灵向展示了机器能做什么(不能做什么),那么究竟如何传递信息呢?克劳德·香农 (Claude Shannon) 就是他发明了 [信息论],因此可以用严谨的方式讨论比特、熵和噪声信道。
在这里插入图片描述

伟大的想法

香农将“信息”这一抽象概念转化为更可测量的东西。这帮助弄清楚如何更有效地打包数据(压缩)以及如何保护数据免受错误(纠错码),无论是向太空发送信号还是在周五晚上观看 Netflix 流媒体。

扫描二维码关注公众号,回复: 17610768 查看本文章

为什么这在今天很重要

每次你发短信、播放视频或通过 FaceTime 给妈妈打电话时,你都在使用香农的想法。相信,如果没有这些想法,你将面对更多杂乱无章的音频和混乱的数据。

3 . 《大型共享数据库的关系数据模型》 (1970)

作者: Edgar F. Codd

所以,可以计算和交流——太棒了。但最终,还是会被海量的数据淹没。Edgar F. Codd 预见到了这一点,并引入了关系模型,这基本上就是能够存储和查询数据的原因。
在这里插入图片描述

伟大的想法

Codd 说:“让将数据存储在表中,并通过逻辑操作对其进行操作。”这在现在听起来可能很明显,但在当时却是革命性的。他的蓝图催生了 SQL 和庞大的关系数据库家族,这些数据库支持着您能想到的基本上所有银行、零售网站和企业系统。

为什么这在今天很重要

即使在 NoSQL 时代,组织数据(表格、模式、一致性)的底层概念也可以追溯到 Codd。如果你曾经写过 SQL 查询 — — 这都要归功于他。

4. 《定理证明程序的复杂性》 (1971)

作者: Stephen A. Cook

既然已经可以高效地存储数据,那么计算本身呢?事实证明,有些问题真的很难解决。Stephen Cook 的论文介绍了 NP 完全性,这个概念基本上就是说:“是的,有些任务非常困难,甚至超级计算机也费劲。”
在这里插入图片描述

伟大的想法

Cook 表明 布尔可满足性问题 是 NP 完全的,这意味着如果你能奇迹般地快速解决 SAT,你就能立即解决一大堆其他看似不可能解决的问题。这创造了一种用于谈论问题难度的通用语言。

为什么这在今天很重要

无论何时,如果您在问题描述中看到“NP-hard”,或者想知道为什么路由优化会耗尽您的 CPU,这都是 Cook 的遗产。它导致了算法、密码学的巨大发展,以及对有效解决方案(或至少是不错的近似值)的追求。

5. 《分组网络互通协议》 (1974)

作者: Vinton G. Cerf 和 Robert E. Kahn

太棒了,有难题要解决,有数据要存储——但如何把所有这些计算机连接在一起呢?瑟夫和卡恩的 TCP 将孤立的网络变成了一个互联的网络,让数据以微小的数据包的形式在全球各地传输。
在这里插入图片描述

伟大的想法

他们为不同的网络创建了一种通用语言。数据包被拆分,通过各种路由传输,然后在另一端重新组装。这种灵活性为全球连接打开了大门——无需单一的整体网络。

为什么这在今天如此重要

简短的回答?几乎整个互联网。每当你浏览网页、发送电子邮件或安全登录银行网站时,你都依靠 TCP/IP 来可靠地传输这些位。当然,一些实时应用程序可能会使用 UDP,但 Cerf 和 Kahn 提出的基于 IP 的网络的核心理念仍然将的所有设备统一到一个全球网络下。

6. 《信息管理:一项提议》(1989)

作者: Tim Berners-Lee

说到 TCP/IP — — 一旦机器能够轻松地相互通信,蒂姆·伯纳斯-李就会问,“如何才能让这个东西对每个人都友好呢?”这就是万维网诞生的地方。
在这里插入图片描述

伟大的想法

伯纳斯-李提出了一个全球超文本系统,其中包括超链接、URL 和 HTTP。突然之间,世界各地的文档不再是孤立的;它们“连在一起”,互联网变成了普通人(而不仅仅是科学家)可以浏览的东西。

为什么这在今天如此重要

生活在网络上。无论是社交媒体、网上购物,还是凌晨 3 点阅读晦涩难懂的博客文章,这一切的种子都来自这个直截了当的提议。它永远改变了分享知识的方式。

7. 《大型超文本网络搜索引擎的剖析》 (1998)

作者: 谢尔盖·布林和拉里·佩奇

伯纳斯-李的网络一经推出,就变成了一个充斥着链接、页面和猫咪表情包的丛林。谢尔盖·布林和拉里·佩奇决定驯服这片丛林。他们基于链接分析的方法演变成了现在称为“谷歌”的搜索引擎。在这里插入图片描述

伟大的想法

他们引入了 PageRank,将链接视为信任投票,而不仅仅是计算关键词的新维度。结果,相关搜索结果出现了巨大飞跃,让网络感觉……可搜索。

为什么这在今天如此重要

在 Google 中输入问题并立即得到答案?这就是 PageRank(以及随后的大量创新)的作用。它重新定义了浏览在线信息的方式,开启了数据驱动技术的新时代——广告、分析、机器学习,应有尽有。

其他文章

  1. 符号表达式的递归函数及其机器计算(1960) – 约翰·麦卡锡

介绍了 Lisp 和仍然潜伏在现代语言和框架中的函数式编程风格。

  1. 转到语句被认为有害(1968) – Edsger Dijkstra

这篇简短但激烈的社论认为 goto 会导致混乱、非结构化的代码,从而引发结构化编程革命。

3.分布式系统中的时间、时钟和事件顺序(1978 年)– Leslie Lamport

在分布式系统中,你无法完美同步真实时钟,因此你需要逻辑时钟。如果你对分布式计算感兴趣,这是必读之作。

4.没有灵丹妙药——软件工程的本质与偶然(1986)——弗雷德·布鲁克斯

布鲁克斯认为,软件开发固有的复杂性并没有单一的神奇解决方案。几十年后,当在框架或方法论中追逐“下一个大事件”时,他的言论仍然提醒,有些问题就是很难解决。

5.注意力就是你所需要的一切(2017)– Vaswani 等人

GPT 和其他知名 AI 模型背后的 Transformer 架构。如果您对大型语言模型印象深刻,那么这就是您的蓝图。

结论

如今,被各种新事物淹没:新语言、令人震惊的 AI 突破、量子飞跃以及本周的 JavaScript 框架。这一切都非常令人兴奋,但问题是:基础很重要。没有它们,只是在堆积新玩具,而没有完全理解正在构建的基础。这篇文章中的论文提醒,的核心概念——数据结构、算法、网络本身——来自哪里。