这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
谷歌的页面排名算法。虽然它可以被看作是网络爬行搜索引擎的改进,但我要指出的是,它们也是在1980年之后开发的。
其他回答
“奇点”,以及所有类似的项目,即用托管代码开发操作系统。
有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !
我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。
因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。
编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。
Edit2:似乎艾伦已经注意到了电子表格——如果让他来这个论坛的问题是正确的!
JIT编译是在20世纪80年代末发明的。
我认为这些答案的部分问题是,它们要么没有得到充分的研究,要么是在尝试一种新的实现或一些已经看到重大“改进”的技术。然而,这并不是一项重大发明。例如,任何关于函数式编程或面向对象编程的讨论都是失败的;这些想法在大多数SO参与者出生之前就已经流传了。