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

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

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

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


当前回答

量子计算的数学在1980年之前就已经出现了,但硬件还没有出现,而且在未来许多年里可能在物理和经济上都不可行。

其他回答

比特币解决了双重消费问题。它被用来创造去中心化的电子货币。一个名为Namecoin的变体使用相同的技术来构建一个分散的命名系统(类似于DNS)。

过去曾有人试图创建加密货币(这个想法当然并不新鲜),但比特币似乎是第一个成功的实现。其独特的P2P算法在不依赖任何可信权威的情况下解决了双重花费问题。

怪诞的开发风格(由Eric S Raymond在http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/中描述)。Raymond认为1991年Linus Tourvald发布的Linux内核是Bizarre开发风格的第一次使用。

“美国人没有过去,也没有未来,他们生活在一个延伸的现在。”这描述了计算的状态。我们生活在80年代一直延续到21世纪。唯一改变的是尺寸。Alan Kay

来源: Alan Kay:计算机科学是一种矛盾修饰法吗?

如果我们作为一个团体认真地回答这个问题。 不幸的是,我相信我们需要的不仅仅是一串随机的善意的帖子! 我知道,这听起来很无聊,但经常把事情做完才是!

We Write a list of powerful ideas in the area of computing Maybe we should define a few categories to separate each one because videoconference somehow does not fit well with object oriented programming. Seeing ideas by categories makes it easier to generate them without redundancy. It's too easy to sidetrack in teleportation if quantum computing is not kept away from flying cars. Try to attribute each of them a date This will settle the before/after 1980 and restrict debate about each idea to its own. It will be fun to dig for earliest reference, first known implementation, etc. Plus this will allow people like me who were 2 years old in 1980 to have a better idea of what was common programming knowledge in 1980 (nothing beats being there at the time) Try to attribute each of them the current state of their implementation Ok, some idea were sci-fi in 1850, with early development in the 1970 and serious improvement breakthrough in the 1990. Some ideas are just starting to get around. Some are almost forgotten. Probably the wiki thing is a good idea. I think this could really get somewhere if slightly organized. I did not check, but maybe this whole thing already exist already on the net (I usually find that if you think about something, someone already did it). What do you think ? Cheers !

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

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

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

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

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

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

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

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

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