这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
其他回答
我们需要的是重组,而不是再造。
我们现在拥有所有我们需要的硬件和软件组件,在未来几年里做一些令人惊叹的事情。
我相信科学中有一种疾病,参与者总是试图发明一些新的东西来区别于别人。这与做一些编目或教授旧作品的混乱工作形成了鲜明对比。
建造“新”东西的人通常被认为比重用现有的和几乎古老的作品的人有更高的血统。(对于一个20岁的年轻人来说,Lisp的开发时间是他们生命的两倍还多。1958)
好的旧想法需要复活并广泛传播,我们需要停止试图建立企业或程序员运动,有效地践踏旧的作品和系统,在权力游戏中成为下一个新事物——事实上,大多数“新的闪亮”事物只是旧想法复活的方面。
有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !
我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。
因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。
编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。
Edit2:似乎艾伦已经注意到了电子表格——如果让他来这个论坛的问题是正确的!
标签,信息分类的方式。是的,就是每个问题下面的小方框。
令人惊讶的是,标签发明花了大约30年的时间。我们使用了目录和目录;我们使用了为印刷书籍优化的东西。
然而,30年比人们意识到印刷书籍可以用更小的格式的时间短得多。人们可以把书放在手里。
我认为核心CS玩家低估了标签概念。所有的研究都集中在自然语言处理(自顶向下的方法)。但是标签是第一种计算机和人类都能很好理解的语言。这是一种自底向上的方法,使计算机使用自然语言。
至于编程概念,IoC /依赖注入在1988年,根在1983年。福勒在他的Bliki上对这个概念的历史做了一些注释。
不确定1980年的情况,但人工智能社区几十年来一直是一个创意生成器,他们仍然在做。