这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
其他回答
个人电脑。
毫无疑问,在过去的30年里,计算最重要的部分是现在每个人都是它的一部分。家用电脑大约从1977年才开始普及,直到80年代才得到广泛应用。现在,幼儿园、老年中心和你的每个邻居都有一台。
电可擦可编程存储器,概括为非易失性读/写存储器,目前最著名和最普遍的是Flash。 http://en.wikipedia.org/wiki/EEPROM列出了这个发明于1984年。
通过赋予存储介质与处理单元相同的物理特性、功率要求、大小和稳定性,我们消除了在设计处理器位置时的限制因素。这扩大了我们如何以及在何处为如此多的智能设备(以及以前根本不被认为是智能的东西)赋予“智能”的可能性,以至于我们仍然被这股浪潮所吸引。Mp3播放器只是其中的一小部分。
有目的的游戏——像Luis von Ahn和他的团队正在开发的集体智慧工具在1980年之前可能是一个梦想,但当时没有一个广泛部署的网络,可以容纳数百万人,并且需要(例如reCAPTCHA)来实现它。
DNS, 1983年,以及依赖的进步,如通过MX记录而不是刘海路径来解析电子邮件主机。*不寒而栗*
Zeroconf工作在DNS之上,2000年。我把我的打印机插入网络,我的笔记本电脑看到了它。我在网络上启动了一个web服务器,我的浏览器看到了它。(假设他们广播了他们的可用性。)
NTP(1985)基于Marzullo算法(1984)。精确的时间在紧张的网络。
鼠标滚轮,1995年。使用没有它的鼠标感觉太原始了。不,这不是恩格尔巴特团队想过却忘了提的东西。至少当我问当时团队里的人时没有。(那是1998年左右在恩格尔巴特的一次活动上。我要对付第一批老鼠中的一只。)
1987年的Unicode,以及它在不同类型的编码、规范化、双向文本等方面的相关进展。
是的,人们每天使用这5种方法是很常见的。
这些真的是“新想法”吗?毕竟,有了鼠标,有了字符编码,有了网络计时。告诉我如何区分“新”和“真正的新”,我会回答你的问题。我的直觉告诉我这些足够新了。
在较小的领域,很容易有更近期的进展。例如,在生物信息学领域,Smith-Waterman(1981)和BLAST(1990)有效地使该领域成为可能。但这听起来像是你在要求在整个计算领域中非常广泛的想法,而且容易摘到的水果会被先摘。在一个新的领域总是如此。
电视管盒