这个问题来自于对过去50年左右计算领域各种进展的评论。

其他一些与会者请我把这个问题作为一个问题向整个论坛提出。

这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。

我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”


当前回答

我认为我们看待这个问题的方式是错误的,得出的结论也是错误的。如果我做对了,循环就会变成:

理念->首次实施->少数人采用->临界质量->商品产品

从最初的想法到商品,你通常会经历几个世纪,假设这个想法能走到那个阶段。达·芬奇可能在1493年就画出了某种直升机,但他花了大约400年的时间才制造出一架能够自己飞离地面的实际机器。

从1580年威廉·伯恩对潜艇的第一次描述到1800年的第一次实施,你有220年的时间,而目前的潜艇仍处于起步阶段:我们几乎对水下旅行一无所知(地球上三分之二的地方都在海底,想想潜在的房地产;)

而且不可能没有更早,更早的想法,只是我们从未听说过。根据一些传说,亚历山大大帝在公元前332年使用了某种潜水钟(这是潜艇的基本概念:一种在海底运送人员和空气供应的装置)。算上这一点,我们从想法(甚至只有一个基本的原型)到生产产品需要2000年的时间。

我想说的是,在1980年之前,那些甚至都不是想法的实现,更不用说产品了……我敢打赌,“快速排序”算法是由中国古代某个无名档案管理员使用的。那又怎样?

当然,40年前就有了联网的计算机,但那无法与今天的互联网相比。基本的理念/技术是存在的,但不管怎样你都不能在线玩《魔兽》游戏。

我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”

从历史上看,我们从来没有能够如此快速地“找到它们”。我认为这个周期正变得越来越快,但计算技术仍然非常年轻。

目前,我正试图弄清楚如何制作全息图(星球大战那种,没有任何物理支持)。我想我知道该怎么做了。我甚至还没有收集工具、材料和资金,即使我在某种程度上取得了成功,实际的想法也已经有几十年的历史了,至少相关的实现/技术已经被使用了很长时间。

一旦你开始列出实际的产品,你就可以相当肯定概念和最初的实现在一段时间前就已经存在了。没关系。

你可能会以某种理由争辩说,从来没有什么是新的,或者一切都是新的,总是如此。这就是哲学,两种观点都有道理。

从实践的观点来看,真理介于两者之间。真理不是二进制概念,布尔逻辑是该死的。

中国人也许早在很久以前就发明了印刷机,但大多数人能够在家以合理的价格打印出像样的彩色照片也不过10年的时间。

发明无处不在,这取决于你的标准和参照系。

其他回答

The mouse - There have been posts about human interaction. To me, the mouse was the gateway to human interaction. Without it, we'd still be typing and not clicking in dragging, even with our fingers. GUI - Complimented the mouse perfectly. I work in an environment where an as400 is the backend of one of our major apps. Yeah.. Interesting stuff but it just reminds me of the screens 'Bill Gates' is working in in the movie 'Pirates of Silicon Valley' even though that's not what it was. To me, 1 and 2 are the reason anybody, including grandpas and grandmas can use a computer. Excel / spreadsheets - Someone mentioned this before but it's work mentioning again. It's so user friendly and is a great entry point for non-technical users to try their hand at simple programming concepts when performing calculations on cells. Granted it came out before 1980, but the versions post 1980 are when the technology in spreadsheets evolved. Internet (of course) - Not sure how people wrote code without it! Don't flame me for repeating because this belongs on every list. INTELLISENSE - LOVE IT LOVE IT LOVE IT!!!!

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的解决重载的类型类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局还在书写中。

软件:

虚拟化和仿真 P2P数据传输 社区驱动的项目,如维基百科、SETI@home…… 网络爬行和网络搜索引擎,即索引信息分布在世界各地

硬件:

模块化PC 电子纸

有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !

我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。

因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。

编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。

Edit2:似乎艾伦已经注意到了电子表格——如果让他来这个论坛的问题是正确的!

飞行汽车和悬浮滑板。哦,等等,那些还没有被发明出来。但到2015年,我们必须拥有它们。否则《回到未来2》就是个弥天大谎!