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

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

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

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


当前回答

在主流计算中,有一件事没有改变,那就是分级文件系统。在我看来,这是一种耻辱,因为在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的流行保证了分层文件系统的主导地位。

其他回答

我能想到的1980年还不存在的活动是跨脱节域的全局搜索。比如谷歌和一个(非常少的)前辈——都是在1980年之后。与语法标记的约定相关联,我认为这是一个“新想法”;但我认为这也只是刚刚开始;头顶上有很大的空间可以建房子。

有一种设备有可能加速这种已经闪电般的速度,它将很快出现,即相机/地理信息系统/电话/网络的组合。它首次创造了在四维空间中自动收集、分类和聚合数据点的机会。甚至这类数据的繁琐手工收集也在萌芽;想象一下,当它默认执行时。

无论好坏。

我认为在过去的50年里,一个非常重要的计算机发明是谷歌。如果没有一个好的搜索工具,互联网就毫无意义。搜索引擎的出现彻底改变了互联网,使它能够被小人物货币化。

Eclipse内存分析器:

使用Lengauer-Tarjan支配树算法进行内存使用分析。

飞行汽车和悬浮滑板。哦,等等,那些还没有被发明出来。但到2015年,我们必须拥有它们。否则《回到未来2》就是个弥天大谎!

过去30年里处理器速度的大幅提升不容忽视。各种聪明的想法,如流水线和抢占式分支,以及处理器设计电子方面的改进,意味着今天的程序员可以更多地担心程序的设计和可维护性,而不必担心计算时钟周期。