这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
我想说的是Linux和“越坏越好”哲学的具体化,但你也可以说这些都是更古老的。 所以我会说:量子,化学,肽,dna和膜计算,(重新)以一种非特别的方式和自动化,方面,泛型编程,一些类型的类型推断,一些类型的测试,
我们没有新想法的原因是:专利(这来自60年代末…),公司和教育。
其他回答
让我们看看,连接机器(大规模并行)就是其中之一。
不管怎样,这整个问题似乎是艾伦·凯的自大狂,因为他发明了一切。
JIT编译是在20世纪80年代末发明的。
1980年1月2日我开始编程。我试着思考在我的职业生涯中有哪些重大的新发明。我很难想出一个。大多数我认为重要的东西实际上是在1980年之前发明的,但直到1980年之后才被广泛采用或改进。
Graphical User Interface. Fast processing. Large memory (I paid $200.00 for 16k in 1980). Small sizes - cell phones, pocket pc's, iPhones, Netbooks. Large storage capacities. (I've gone from carrying a large 90k floppy to an 8 gig usb thumb drive. Multiple processors. (Almost all my computers have more than one now, software struggles to keep them busy). Standard interfaces (like USB) to easily attach hardware peripherals. Multiple Touch displays. Network connectivity - leading to the mid 90's internet explosion. IDE's with Intellisense and incremental compiling.
虽然硬件有了巨大的进步,但软件行业一直在努力跟上。我们比1980年领先了几光年,但大多数改进都是改进,而不是发明。自1980年以来,我们一直忙于应用技术进步,而不是发明创造。就其本身而言,这些渐进式的发明大多不重要或不强大,但当你回顾过去29年,它们相当强大。
我们可能需要接受渐进式的改进并引导它们。我相信真正原创的想法可能会来自很少接触计算机的人,而且他们越来越难找到。
有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !
我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。
因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。
编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。
Edit2:似乎艾伦已经注意到了电子表格——如果让他来这个论坛的问题是正确的!
开源社区开发。