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

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

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

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


当前回答

成功地将不同的编程范例集成到单一的编程环境中。

(对我来说)这方面的范例是Mozart/Oz编程系统,它将函数式、面向对象、逻辑、并发和分布式编程机制集成为一个连贯的整体。不过还有其他的例子。

其他回答

Damas-Milner type inference (often called Hindley-Milner type inference) was published in 1983 and has been the basis of every sophisticated static type system since. It was a genuinely new idea in programming languages (admitted based on ideas published in the 1970s, but not made practical until after 1980). In terms of importance I put it up with Self and the techniques used to implement Self; in terms of influence it has no peer. (The rest of the OO world is still doing variations on Smalltalk or Simula.)

类型推断的变化仍在上演;我最喜欢的变体是Wadler和Blott的解决重载的类型类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局还在书写中。

I'd say the biggest trend is an ever increasing lack of location dependence and pervasiveness. An interesting philosophical exercise these days is to count the computers in you immediate area. They're everywhere desktops, keyboards, microwaves, radios, televisions, cell phones etc... My grandmother computer is illiterate however her life is as infested with small computers as everyone else's. She can make a call to me from the middle of an empty field. I can then answer that call zipping down the highway.

作为Debian用户,我会投票给包管理。它让OSX和Windows 7看起来像是原始的业余玩物。

但是由于前面已经提到了包管理,我将投票给x。网络透明窗口服务器使许多应用程序成为可能。能够无缝地在同一屏幕上并行地调用在不同计算机上运行的程序真是太棒了。

这在80年代后期更令人印象深刻。

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

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

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

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