这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
软件:
虚拟化和仿真 P2P数据传输 社区驱动的项目,如维基百科、SETI@home…… 网络爬行和网络搜索引擎,即索引信息分布在世界各地
硬件:
模块化PC 电子纸
其他回答
DNS, 1983年,以及依赖的进步,如通过MX记录而不是刘海路径来解析电子邮件主机。*不寒而栗*
Zeroconf工作在DNS之上,2000年。我把我的打印机插入网络,我的笔记本电脑看到了它。我在网络上启动了一个web服务器,我的浏览器看到了它。(假设他们广播了他们的可用性。)
NTP(1985)基于Marzullo算法(1984)。精确的时间在紧张的网络。
鼠标滚轮,1995年。使用没有它的鼠标感觉太原始了。不,这不是恩格尔巴特团队想过却忘了提的东西。至少当我问当时团队里的人时没有。(那是1998年左右在恩格尔巴特的一次活动上。我要对付第一批老鼠中的一只。)
1987年的Unicode,以及它在不同类型的编码、规范化、双向文本等方面的相关进展。
是的,人们每天使用这5种方法是很常见的。
这些真的是“新想法”吗?毕竟,有了鼠标,有了字符编码,有了网络计时。告诉我如何区分“新”和“真正的新”,我会回答你的问题。我的直觉告诉我这些足够新了。
在较小的领域,很容易有更近期的进展。例如,在生物信息学领域,Smith-Waterman(1981)和BLAST(1990)有效地使该领域成为可能。但这听起来像是你在要求在整个计算领域中非常广泛的想法,而且容易摘到的水果会被先摘。在一个新的领域总是如此。
Damas-Milner type inference (often called Hindley-Milner type inference) was published in 1983 and has been the basis of every sophisticated static type system since. It was a genuinely new idea in programming languages (admitted based on ideas published in the 1970s, but not made practical until after 1980). In terms of importance I put it up with Self and the techniques used to implement Self; in terms of influence it has no peer. (The rest of the OO world is still doing variations on Smalltalk or Simula.)
类型推断的变化仍在上演;我最喜欢的变体是Wadler和Blott的解决重载的类型类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局还在书写中。
开源社区开发。
在人机交互中使用物理学提供了另一种可理解的隐喻。这与手势和触觉相结合,很可能会取代70年代发明的、从80年代中后期开始普遍使用的当前常见GUI隐喻。
1980年的计算能力还不足以让这成为可能。我相信游戏可能引领了这一方向。iPod Touch/iPhone中的列表滚动交互便是一个很好的例子。交互机制依赖于动量和摩擦如何在现实世界中工作的直觉,以提供滚动项目列表的简单方法,而可用性依赖于导致滚动的物理手势。
我认为我们需要真正的新想法 在计算机的大部分领域,我 想知道有什么重要的吗 以及已经完成的强有力的任务 最近。如果我们真的找不到 他们,那么我们应该问“为什么? “我们该怎么办?”
在我看来,我们在计算领域没有那么多新想法,因为我们在很大程度上不需要它们。我们一直在挖掘旧的想法,并从中获得了很多东西,比如cpu速度的显著增长。
当我们因为“井干了”而需要新想法时,我们就会明白需求是发明之母。