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

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

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

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


当前回答

也许科幻作家论坛能给你更有趣的答案?: -)

我怀疑这里有一点谬误,你把技术和科学的历史看作是一个稳步前进的过程,是一个线性现象。我怀疑这实际上是一个时断时续、背景、经济、意外发现和普通随机性的过程。

你应该感到幸运,因为你处于历史浪潮的中心,大多数人都不会有这样的经历。

其他回答

前提:自1980年以来几乎没有新发明。

要做的第一件事是定义发明,否则你就会误入歧途。Dictionary.com对发明的第二个定义是:

美国专利法。一种新的、有用的工艺、机器、改进等,以前不存在,被认为是某种独特的直觉或天才的产物,区别于普通的机械技能或工艺。

因此,自1980年以来,计算机领域的新发明很少。都发生了什么?显然,有大量的新技术和新事物出现,但它们是什么呢?

我们不再发明了,我们只是在改进已经存在的东西。

举个简单的例子:

光盘最早出现于1977年,但直到1982年才被业界接受。此时,第一家刻录cd的工厂刚刚准备就绪。最终,到1985年,CD-ROM(只读存储器)被接受为一种媒介。5年后,CD-RW问世。(来源:维基百科)

现在怎么办呢?好吧,考虑到我们有更大的硬盘驱动器(仍然只是在范式上的改进),我们需要更多的空间来取代VHS市场,使视频与计算机兼容。于是就有了DVD,尽管我删去了对现有CD技术的许多改进。

DVD是在1995年被“发明”出来的。(来源:维基百科)

从那时起,我们有:

可写dvd和可重写dvd 双层dvd 三层和四层dvd(尚未发布,但通过简单的驱动程序修订是可行的) hd - dvd 蓝光光盘

显然,这个列表并不包括所有的内容。但是注意新发明,记住我上面给出的定义,在那个列表中。你不能!它们都是光盘概念的变体,都是相同硬件的变体,都是现有软件的变体。

WHY?

成本。你看,对现有产品进行渐进式改进在经济上更便宜。如果我可以卖给你一张HD DVD或蓝光光盘,因为你认为它是必要的或很酷,那么我就没有必要发布我的三层或四层DVD计划。事实上,我可以收取很高的费用来获得新技术,因为您是早期采用者,您需要我的“新的和改进的!”硬件。

这就是所谓的市场营销或产品关系。

但是软件呢?

怎么了?在1980年之前,有很多软件创新在进行,但从那以后,它主要只是对已经存在的东西进行改进或重新发明轮子。看看任何操作系统或办公软件包就知道了。

结论

As far as I'm concerned, there have been virtually no new inventions in the past 29 years. I could wax long and cross a great many industries, but why should I bother? Once you start thinking about it, and start comparing an "invention" to a prior, similar product ... you'll find it is so similar that it isn't even funny. Even the internal combustion engine has been around since 1906 with no new inventions in that field since then; many improvements and variations of this "wheel" yes, but no new inventions.

甚至连美国在伊拉克部署的新武器——利用微波让人感到震惊,就像触摸灯泡一样——都不是新武器。同样的想法被用于安全系统,然后被分类并退出市场,用超声波让入侵者感到身体不适。这是一种定向形式的武器,具有不同的波长和应用,不是一项新发明。

声明性编程。

1979年,“计算机程序”势在必行。程序员应该指导编译器做什么和怎么做。(N1)

今天,ASP。NET WebForms和WPF程序员经常在不知道或不关心它将如何实现的情况下编写代码。维基百科还有其他不那么主流的例子。此外,所有sgml派生的“标记”语言都是声明性的,我怀疑1979年的许多程序员是否能预测到它们在30年后的重要性或普遍性。

尽管声明式编程的概念在1980年之前就存在了(参见这篇1975年的论文),但它的发明是在1985年Caml的引入(有争议)或1990年Haskell的引入(争议较少)时出现的。从那时起,声明式编程越来越受欢迎。而且,当大规模多核处理器最终到来时,我们都将成为声明式程序员。

-- 注: 我不能直接证明这一点,因为1979年我还是个胎儿。 从其他答案来看,人们似乎混淆了概念和发明。达·芬奇构想了直升机,但他没有发明它。这个问题是关于计算机发明的。 请不要在评论中提到Prolog (rel. 1975),除非你真的用它开发了一个应用程序。

采用面向对象。

这个想法早前就出现了(例如Simula),但在20世纪90年代成为主流。(恕我直言,它最大的好处之一是在开发人员之间提供了一个通用的词汇表,所以它的广泛采用使它更有价值。)

“奇点”,以及所有类似的项目,即用托管代码开发操作系统。

这是一个很难回答的问题,因为在那之后,除了硬件的改进之外,几乎没有什么东西是具有重大积极意义的发明。虽然在20世纪80年代之前,有许多重大的发明只影响人们,但现在,因为它们在当时是不可行的。

见鬼。血统