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

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

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

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


当前回答

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

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

其他回答

这是谷歌map-reduce的一个插件,不仅是为了它自己,也是谷歌在不可靠的商品机器农场上运行快速、可靠服务的成就的一个代理。这绝对是一项重要的发明,与1980年主导重量级计算的大型主机方法完全不同。

在社区支持下,翻译软件可以进行手动更正和建议,随后由人工智能机器人形成模式,最终区分并正确预测不同翻译和上下文中的歧义。

虽然谷歌Translate可能不是野兽,但它是一个系统的母亲,或者可能是等待开发的祖母。

如果你仔细想想,文本语言实际上是大脑的输入,眼睛看到文本并将图像发送到大脑,然后大脑将其转化为理解。

虽然它真正的交流(尤其是人与人之间的交流)是一个高级的话题,但基本的是输入(带上下文)->翻译->理解。

为什么我们仍然没有真正的好办法给远方的同事或不会说我们语言的伙伴发送电子邮件?这显然是第一阶段。

一旦完成,我们就可以进行实时电话翻译之类的工作了。

相反,月复一月,我们最大的智力资产被用于其他更重要的项目,比如太空研究、流星探测,或者试图证明《圣经》是错的(打哈欠)。

我们把更多的时间花在基本的实际交流上怎么样?

(普遍)加密。没有加密,任何金融交易都不会发生。这仍然是一个需要更多创新和用户友好性的领域。

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

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

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

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

来自播客36的文字记录:

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

什么都没有。

我认为这是因为人们改变了他们的态度。人们过去相信,只要找到“好点子”,就能一夜暴富。如今,人们相信,回报最大的是执行过程,而不是发现过程。你有诸如“想法一毛钱一打”和“第二只老鼠得到奶酪”这样的咒语。因此,人们专注于开发现有的想法,而不是想出新的想法。