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

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

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

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


当前回答

我认为计算中的大多数概念都在不断改进,但也有一些新的发展,特别是在分布式计算方面。

对故障和缺陷的鲁棒性,以及故障恢复,即。Paxos,拜占庭容错等。 我知道人们提到过P2P, P2P通信发生在70年代,但恕我直言,我不认为它具有与今天相同的性质,具有分布式哈希表,高效的动态自组织网络,最重要的是,匿名性(例如Freenet, Tor)。

大多数工作都经过了改进,虽然许多现代系统比60年代或更早时候首次描述的原始概念好不了多少,但有些系统好了几个数量级。

其他回答

多代理系统。

你可以回到分布式人工智能的根源,我认为仍然可以安全地呆在80年代。

多智能体系统有很多组成部分,有很多研究涉及语言行为或合作,所以很难指出并说“看,这里,这是不同的,创新的和重要的!”但我还是会试试的。: -)

我认为信念-欲望-意图模型尤其值得注意。智能体在内部构建了世界的模型。他们有特定的愿望或目标,并制定计划,如何与他们所知道的世界互动,以实现这些目标,从而形成意图。

或者打个比方,电影《创》(Tron)中的角色对他们周围的世界是如何运作的有一定的了解。他们不了解整个世界,他们可能会对世界的某些部分产生误解。但他们有愿望和目标,他们提出了进一步实现目标的计划。如果你看过《创》,我相信你会有类似的感觉。

它还没有对计算机产生太大的影响。但是,你看,那些对计算机产生影响的东西似乎需要几十年的时间。参见:OOP, GC,字节码编译。

十大软件工程理念/图片

现代阴影语言和现代gpu的流行。

GPU也是一个低成本的并行超级计算机,拥有CUDA和OpenCL等工具,可以快速编写高级并行代码。感谢所有在那里压低这些越来越令人印象深刻的硬件奇迹价格的玩家。在接下来的五年里,我希望每台售出的新电脑(iphone也一样)都能基本具备运行大量并行代码的能力,就像24位彩色或32位保护模式一样。

在虚拟世界中,你由虚拟的另一个自我(又名阿凡达)代表,用于社交和角色扮演。

最常被称为mmo -大规模(ly)多人在线。一些流行的例子包括《魔兽世界》、《无尽的任务》和《第二人生》。

PS:不,他们仍然不需要像80年代极客电影中典型的那样戴着沉重的帽子。真可惜....

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

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

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

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

来自播客36的文字记录:

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