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

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

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

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


当前回答

数码相机呢?

根据维基百科,第一个真正的数码相机出现在1988年,大众市场的数码相机在20世纪90年代末变得负担得起。

其他回答

上世纪八十年代初,施乐帕洛阿尔托研究中心对计算机蠕虫进行了研究。

摘自John Shoch和Jon Hupp的“蠕虫”程序——分布式计算的早期经验”(ACM通讯,1982年3月,第25卷第3期,172-180页,1982年3月):

In The Shockwave Rider, J. Brunner developed the notion of an omnipotent "tapeworm" program running loose through a network of computers - an idea which may seem rather disturbing, but which is also quite beyond our current capabilities. The basic model, however, remains a very provocative one: a program or a computation that can move from machine to machine, harnessing resources as needed, and replicating itself when necessary. In a similar vein, we once described a computational model based upon the classic science-fiction film, The Blob: a program that started out running in one machine, but as its appetite for computing cycles grew, it could reach out, find unused machines, and grow to encompass those resources. In the middle of the night, such a program could mobilize hundreds of machines in one building; in the morning, as users reclaimed their machines, the "blob" would have to retreat in an orderly manner, gathering up the intermediate results of its computation. Holed up in one or two machines during the day, the program could emerge again later as resources became available, again expanding the computation. (This affinity for nighttime exploration led one researcher to describe these as "vampire programs.")

引用艾伦·凯的话:“预测未来最好的方法就是创造未来。”

我们需要的是重组,而不是再造。

我们现在拥有所有我们需要的硬件和软件组件,在未来几年里做一些令人惊叹的事情。

我相信科学中有一种疾病,参与者总是试图发明一些新的东西来区别于别人。这与做一些编目或教授旧作品的混乱工作形成了鲜明对比。

建造“新”东西的人通常被认为比重用现有的和几乎古老的作品的人有更高的血统。(对于一个20岁的年轻人来说,Lisp的开发时间是他们生命的两倍还多。1958)

好的旧想法需要复活并广泛传播,我们需要停止试图建立企业或程序员运动,有效地践踏旧的作品和系统,在权力游戏中成为下一个新事物——事实上,大多数“新的闪亮”事物只是旧想法复活的方面。

移动电话。

第一个“无线手机”专利诞生于1908年,并且酝酿了很长一段时间(0G于1945年,1G于1979年在日本推出),而现代2G数字手机直到1991年才出现。1993年才出现短信,1999年才出现互联网接入。

有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !

我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。

因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。

编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。

Edit2:似乎艾伦已经注意到了电子表格——如果让他来这个论坛的问题是正确的!

采用面向对象。

这个想法早前就出现了(例如Simula),但在20世纪90年代成为主流。(恕我直言,它最大的好处之一是在开发人员之间提供了一个通用的词汇表,所以它的广泛采用使它更有价值。)