这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
万维网已经被告知了,但更基本的,我会说“DNS”。 似乎它是在1983年发明的(http://en.wikipedia.org/wiki/Domain_Name_System),恕我直言,我们可以认为它是互联网协议的发明和传播到世界各地的能力之间的强制性联系,现在被称为网络。
还是在“网络”部分,我要加上WIFI。它是在90年代发明的(但我同意它不完全是“计算”,而更多地与硬件有关)。
在更严格的“算法”部分,我想到了turbocodes(1993年);有人说它只是接近了香农信号理论所定义的极限,但这种论点难道不会否定所有其他对“一切都已经在洛夫莱斯、巴贝奇和图灵的作品中萌芽”的回答吗?
在密码学领域,我想加上P.Zimmermann(1991年)的PGP程序,它为公民带来了一个相当健壮的(当时)免费加密程序,并有助于动摇政府对加密的立场。事实上,我认为这是密码学“自由化”的因素之一,这是发展电子商务的前提。
其他回答
我相信单元测试、TDD和持续集成是1980年之后的重大发明。
互联网本身早于1980年,但由蒂姆·伯纳斯-李提出并实现的万维网(“通过简单机制分布式超文本”)始于1989/90年。
虽然超文本的概念以前就存在(Nelson的Xanadu曾尝试实现分布式方案),但WWW是实现分布式超文本系统的一种新方法。Berners-Lee以一种强大且易于实现的方式将简单的客户机-服务器协议、标记语言和寻址方案结合在一起。
我认为大多数创新都是以一种原创的方式重新组合现有的作品。万维网的每一部分以前都以某种形式存在过,但两者的结合只有在事后才变得明显。
我确信你现在正在使用它。
为了开始思考这个问题,我需要一个关于“创新”意味着什么的模型。
我所见过的最好的模式是技术采用生命周期。你可以在这篇维基百科文章中得到一个概述。
利用这个模型,我开始问自己……软件本身处于生命周期的哪个阶段?我们可以把“软件”看作一种不同于机械的技术,这种技术可以一直追溯到巴贝奇(Babbage),或者更准确地说,追溯到Ada Lovelace夫人。
但至少在1951年之前,它仍然处于非常早期的开拓阶段。这是编程计算机“商业化”的一年,即销售计算机产品的模型,并制造大量该模型的单元。我在想Univac卖给人口普查局的那台机器。
从1951年到1985年,软件创新层出不穷。它们主要与将计算的范围扩展到一个更广阔的领域有关。与此同时,大规模营销和大规模生产不断降低入门成本,直到苹果和IBM-PC使可编程设备成为一种常见的设备。
在1980年到1985年之间,我认为软件从创新者的领域过渡到“早期大多数”领域。抱歉,伙计们,这让你们所有参与MS-DOS, Mac, Windows, c++和Java早期的大多数人而不是创新者。这并不妨碍你在自己的领域和自己的项目中进行重大创新。这只是意味着这个领域本身已经从最早的阶段发展起来了。
虽然互联网的前身早在20世纪70年代就出现了,但直到阿尔·戈尔发明了互联网(抱歉),人们才开始上网。在那个阶段,软件从早期的主流变成了晚期的主流。正如钟形曲线的顶部所显示的那样,这种变化是微妙的。并非所有商店都同时从早期多数转变为晚期多数。
我认为软件还没有完全进入“落后”阶段,但我认为真正的创新者正在解决今天在不同战线上产生进步的问题。
我能想到的两个方面是生物工程和信息设备。这两个领域都需要软件,但主要的推力不是软件创新。它正在把软件应用到未知领域。可能还有很多我不知道的战线。
IP多播(1991)和Van Jacobsen的传播网络(2006)是1989年以来最大的发明。
互联网。
就是这样。