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

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

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

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


当前回答

我认为没有什么重要的东西被发明出来。但自80年代以来,人们对软件的看法发生了很大变化。那时有更多的理论家参与其中,现在你在一个程序员论坛上问这个问题。

当时的大多数想法都没有得到实施,或者即使实施了,它们也没有任何真正的重要性,因为当时的软件行业还不存在,市场营销、人力资源、开发阶段或alpha版本也不存在:)。

Another reason for this lack of inventions is the fact that most people use Windows:) dont get me wrong, i do hate M$, but look at it this way: you have a perfectly working interface, with nothing new to add to it, maybe just some new colored buttons. Its also closed enough so you wont be able to to anything with it without breaking it. Thats why i prefer open apps, this way you get more "open" people, to whom yo can actually talk, ask then questions, propose new ideeas that actually gets implemented, or at least put on an open todo-list, thus you get some kind of "evolution". You dont really see anything new because you are stuck with the same basic interface "invented" lots of years ago... did anyone actually tried ION window-manager in a production environment? It has a new kind of interface, and actually lets you do things faster, event it it looks quirky

M$, Adobe..you name it,holds lots of patents so you wont be able to base your work on them, or derivatives(you also wont know what kind of undeveloped tehnologies they hold). Look at MP3 and GIF as examples( i belive that they are both free formats now, but they are also kinda dead..) MP3 is the 'king' of audio evend if there are few algorithms out there much better that it..but didnt get enough traction because they weren't pushed on the consumer market. The GIF... come on, 256 colors??? From this point of voew i'm curios how many people from this thread are working on something "open" that will get to be reused in some other projects, and how many on "closed", protected by NDA's projects?

即使这听起来有点像“免费的威利”,但在80年代,软件是免费的,所有东西都有文档,所有硬件都更简单,更容易使用……同时也更加有限,所以人们并没有浪费时间去执行3d游戏或网页,而是致力于真正的算法。

其他回答

传感器网络:非常微小的(纳米级)计算机形成自组织p2p网络并传输“传感”信息。

3D打印:物理对象的《星际迷航》复制器(还没有Early Grey茶)。

DNA计算:针对某些类型问题的大规模并行计算。

在主流计算中,有一件事没有改变,那就是分级文件系统。在我看来,这是一种耻辱,因为在20世纪80年代末和90年代,一些工作已经完成,以设计更适合现代面向对象操作系统的新型文件系统——那些从头开始就是面向对象的操作系统。

OO操作系统倾向于具有可扩展且灵活的平面对象存储。我认为EROS项目就是围绕这个想法建立的;PenPoint操作系统是20世纪90年代的面向对象操作系统;Amazon S3当然是当代的平面对象存储。

在面向对象的平面文件系统中,至少有两个想法是我特别喜欢的:

The entire disk was essentially swap space. Objects exist in memory, get paged out when they are not needed, and brought back in when they are. There's no need for a hierarchical filesystem that's separate from virtual memory. Programs are "always running," in a sense. A flat file/object store allows content to be indexed and searched, rather than forcing the user to decide -- ahead of time -- where the content will live in relation to other content and what its name shall be. A hierarchical system could be built on top of the flat storage, but it's not required.

正如Alan Cooper在他的书《About Face》中所述,分层文件系统是一个拼凑物,是为20世纪60年代和70年代内存和磁盘存储有限的计算机设计的。可悲的是,Windows和Unix的流行保证了分层文件系统的主导地位。

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!!!!

我想说的是Linux和“越坏越好”哲学的具体化,但你也可以说这些都是更古老的。 所以我会说:量子,化学,肽,dna和膜计算,(重新)以一种非特别的方式和自动化,方面,泛型编程,一些类型的类型推断,一些类型的测试,

我们没有新想法的原因是:专利(这来自60年代末…),公司和教育。

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

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

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

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

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

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

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

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

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