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

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

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

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


当前回答

至于编程概念,IoC /依赖注入在1988年,根在1983年。福勒在他的Bliki上对这个概念的历史做了一些注释。

其他回答

我认为计算中的大多数概念都在不断改进,但也有一些新的发展,特别是在分布式计算方面。

对故障和缺陷的鲁棒性,以及故障恢复,即。Paxos,拜占庭容错等。 我知道人们提到过P2P, P2P通信发生在70年代,但恕我直言,我不认为它具有与今天相同的性质,具有分布式哈希表,高效的动态自组织网络,最重要的是,匿名性(例如Freenet, Tor)。

大多数工作都经过了改进,虽然许多现代系统比60年代或更早时候首次描述的原始概念好不了多少,但有些系统好了几个数量级。

第一台真正的多媒体个人电脑,Amiga:第一台32位抢先处理多任务的个人电脑,第一台硬件图形加速,第一台多声道声音,在许多方面,它比现在流行的多核、多兆赫的Windows盒子机更有用、更强大。

为了开始思考这个问题,我需要一个关于“创新”意味着什么的模型。

我所见过的最好的模式是技术采用生命周期。你可以在这篇维基百科文章中得到一个概述。

利用这个模型,我开始问自己……软件本身处于生命周期的哪个阶段?我们可以把“软件”看作一种不同于机械的技术,这种技术可以一直追溯到巴贝奇(Babbage),或者更准确地说,追溯到Ada Lovelace夫人。

但至少在1951年之前,它仍然处于非常早期的开拓阶段。这是编程计算机“商业化”的一年,即销售计算机产品的模型,并制造大量该模型的单元。我在想Univac卖给人口普查局的那台机器。

从1951年到1985年,软件创新层出不穷。它们主要与将计算的范围扩展到一个更广阔的领域有关。与此同时,大规模营销和大规模生产不断降低入门成本,直到苹果和IBM-PC使可编程设备成为一种常见的设备。

在1980年到1985年之间,我认为软件从创新者的领域过渡到“早期大多数”领域。抱歉,伙计们,这让你们所有参与MS-DOS, Mac, Windows, c++和Java早期的大多数人而不是创新者。这并不妨碍你在自己的领域和自己的项目中进行重大创新。这只是意味着这个领域本身已经从最早的阶段发展起来了。

虽然互联网的前身早在20世纪70年代就出现了,但直到阿尔·戈尔发明了互联网(抱歉),人们才开始上网。在那个阶段,软件从早期的主流变成了晚期的主流。正如钟形曲线的顶部所显示的那样,这种变化是微妙的。并非所有商店都同时从早期多数转变为晚期多数。

我认为软件还没有完全进入“落后”阶段,但我认为真正的创新者正在解决今天在不同战线上产生进步的问题。

我能想到的两个方面是生物工程和信息设备。这两个领域都需要软件,但主要的推力不是软件创新。它正在把软件应用到未知领域。可能还有很多我不知道的战线。

前提:自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.

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