这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
fpga是1980年以后发明的重大突破。
其他回答
我认为这些答案的部分问题是,它们要么没有得到充分的研究,要么是在尝试一种新的实现或一些已经看到重大“改进”的技术。然而,这并不是一项重大发明。例如,任何关于函数式编程或面向对象编程的讨论都是失败的;这些想法在大多数SO参与者出生之前就已经流传了。
DNS, 1983年,以及依赖的进步,如通过MX记录而不是刘海路径来解析电子邮件主机。*不寒而栗*
Zeroconf工作在DNS之上,2000年。我把我的打印机插入网络,我的笔记本电脑看到了它。我在网络上启动了一个web服务器,我的浏览器看到了它。(假设他们广播了他们的可用性。)
NTP(1985)基于Marzullo算法(1984)。精确的时间在紧张的网络。
鼠标滚轮,1995年。使用没有它的鼠标感觉太原始了。不,这不是恩格尔巴特团队想过却忘了提的东西。至少当我问当时团队里的人时没有。(那是1998年左右在恩格尔巴特的一次活动上。我要对付第一批老鼠中的一只。)
1987年的Unicode,以及它在不同类型的编码、规范化、双向文本等方面的相关进展。
是的,人们每天使用这5种方法是很常见的。
这些真的是“新想法”吗?毕竟,有了鼠标,有了字符编码,有了网络计时。告诉我如何区分“新”和“真正的新”,我会回答你的问题。我的直觉告诉我这些足够新了。
在较小的领域,很容易有更近期的进展。例如,在生物信息学领域,Smith-Waterman(1981)和BLAST(1990)有效地使该领域成为可能。但这听起来像是你在要求在整个计算领域中非常广泛的想法,而且容易摘到的水果会被先摘。在一个新的领域总是如此。
快速聚类算法(数据点数为O(n log n)),如DBScan(1996年),似乎都是1980年以后的。
这些都是数据挖掘技术进步浪潮的一部分。
相比之下,在寻线方面缺乏进展,在寻线方面,像Hough这样拙劣的缩放技术似乎仍然代表着最先进的技术水平。
个人电脑。
毫无疑问,在过去的30年里,计算最重要的部分是现在每个人都是它的一部分。家用电脑大约从1977年才开始普及,直到80年代才得到广泛应用。现在,幼儿园、老年中心和你的每个邻居都有一台。
低成本/家用电脑。直到20世纪80年代初,人们(至少在布莱蒂)才真正听说过这件事。如果没有家用计算机,有多少人会把计算机作为一种职业?甚至把它当作一种爱好?
就我自己而言,如果我的父母没有在1982/1983年得到Clive Sincliar的简陋的橡胶键盘ZX Spectrum,我现在可能不会在这里。这不仅仅是演讲:C64、Vic-20、Acorn Electron、BBC A/B/Master、Oric-1、Dragon-32等等都为家用电脑市场注入了活力,并使每一个拥有一台电脑的8岁男孩和女孩都成为了程序员。
如果这不是计算和编程方面的革命,我就不知道什么是……!
另外一个好奇的问题是:在这个网站上,业余程序员和职业程序员的区别是什么?我知道这些数据没有经过整理,但可能会很有趣。