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

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

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

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


当前回答

包管理和分布式修订控制。

这些软件开发和分发方式的模式是最近才出现的,并且刚刚开始产生影响。

Ian Murdock称包管理是“Linux给业界带来的最大进步”。他会的,但他说得有道理。自1980年以来,安装软件的方式已经发生了重大变化,但大多数计算机用户仍然没有经历过这种变化。

Joel和Jeff在播客#36中与Eric Sink讨论了版本控制(或版本控制,或源代码控制)。似乎大多数开发人员还没有跟上集中式系统的步伐,DVCS被广泛认为是神秘和不必要的。

来自播客36的文字记录:

0:06:37 阿特伍德:…如果你假设——这是一个很大的假设——大多数开发人员都掌握了基本的源代码控制——坦白地说,我发现这是不正确的…… Spolsky:没有。他们中的大多数人,即使他们知道,也只是签入和签出,但分支和合并——这让他们感到困惑。

其他回答

也许科幻作家论坛能给你更有趣的答案?: -)

我怀疑这里有一点谬误,你把技术和科学的历史看作是一个稳步前进的过程,是一个线性现象。我怀疑这实际上是一个时断时续、背景、经济、意外发现和普通随机性的过程。

你应该感到幸运,因为你处于历史浪潮的中心,大多数人都不会有这样的经历。

Eclipse内存分析器:

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

我喜欢把它叫做互联网

标签,信息分类的方式。是的,就是每个问题下面的小方框。

令人惊讶的是,标签发明花了大约30年的时间。我们使用了目录和目录;我们使用了为印刷书籍优化的东西。

然而,30年比人们意识到印刷书籍可以用更小的格式的时间短得多。人们可以把书放在手里。

我认为核心CS玩家低估了标签概念。所有的研究都集中在自然语言处理(自顶向下的方法)。但是标签是第一种计算机和人类都能很好理解的语言。这是一种自底向上的方法,使计算机使用自然语言。

我相信单元测试、TDD和持续集成是1980年之后的重大发明。