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

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

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

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


当前回答

我认为我们看待这个问题的方式是错误的,得出的结论也是错误的。如果我做对了,循环就会变成:

理念->首次实施->少数人采用->临界质量->商品产品

从最初的想法到商品,你通常会经历几个世纪,假设这个想法能走到那个阶段。达·芬奇可能在1493年就画出了某种直升机,但他花了大约400年的时间才制造出一架能够自己飞离地面的实际机器。

从1580年威廉·伯恩对潜艇的第一次描述到1800年的第一次实施,你有220年的时间,而目前的潜艇仍处于起步阶段:我们几乎对水下旅行一无所知(地球上三分之二的地方都在海底,想想潜在的房地产;)

而且不可能没有更早,更早的想法,只是我们从未听说过。根据一些传说,亚历山大大帝在公元前332年使用了某种潜水钟(这是潜艇的基本概念:一种在海底运送人员和空气供应的装置)。算上这一点,我们从想法(甚至只有一个基本的原型)到生产产品需要2000年的时间。

我想说的是,在1980年之前,那些甚至都不是想法的实现,更不用说产品了……我敢打赌,“快速排序”算法是由中国古代某个无名档案管理员使用的。那又怎样?

当然,40年前就有了联网的计算机,但那无法与今天的互联网相比。基本的理念/技术是存在的,但不管怎样你都不能在线玩《魔兽》游戏。

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

从历史上看,我们从来没有能够如此快速地“找到它们”。我认为这个周期正变得越来越快,但计算技术仍然非常年轻。

目前,我正试图弄清楚如何制作全息图(星球大战那种,没有任何物理支持)。我想我知道该怎么做了。我甚至还没有收集工具、材料和资金,即使我在某种程度上取得了成功,实际的想法也已经有几十年的历史了,至少相关的实现/技术已经被使用了很长时间。

一旦你开始列出实际的产品,你就可以相当肯定概念和最初的实现在一段时间前就已经存在了。没关系。

你可能会以某种理由争辩说,从来没有什么是新的,或者一切都是新的,总是如此。这就是哲学,两种观点都有道理。

从实践的观点来看,真理介于两者之间。真理不是二进制概念,布尔逻辑是该死的。

中国人也许早在很久以前就发明了印刷机,但大多数人能够在家以合理的价格打印出像样的彩色照片也不过10年的时间。

发明无处不在,这取决于你的标准和参照系。

其他回答

自由软件基金会(成立于1985年)

即使你不是他们哲学的全心全意的支持者,他们一直在推动的理念,自由软件,开源已经对软件行业和一般内容产生了惊人的影响(例如维基百科)。

声明性编程。

1979年,“计算机程序”势在必行。程序员应该指导编译器做什么和怎么做。(N1)

今天,ASP。NET WebForms和WPF程序员经常在不知道或不关心它将如何实现的情况下编写代码。维基百科还有其他不那么主流的例子。此外,所有sgml派生的“标记”语言都是声明性的,我怀疑1979年的许多程序员是否能预测到它们在30年后的重要性或普遍性。

尽管声明式编程的概念在1980年之前就存在了(参见这篇1975年的论文),但它的发明是在1985年Caml的引入(有争议)或1990年Haskell的引入(争议较少)时出现的。从那时起,声明式编程越来越受欢迎。而且,当大规模多核处理器最终到来时,我们都将成为声明式程序员。

-- 注: 我不能直接证明这一点,因为1979年我还是个胎儿。 从其他答案来看,人们似乎混淆了概念和发明。达·芬奇构想了直升机,但他没有发明它。这个问题是关于计算机发明的。 请不要在评论中提到Prolog (rel. 1975),除非你真的用它开发了一个应用程序。

它提供了一种信息丰富的方式来传播信息和辩论。我发现它比标准的采访更具互动性,但没有博客评论那么嘈杂。

DOS。我不是DOS的粉丝,但多亏了DOS和IBM-PC电脑才有了今天的样子(不管是好是坏)。

我认为,在1980年,如果你在使用一台电脑,你要么是在赚钱,要么就是一个极客……那么发生了什么变化呢?

Printers and consumer-level desktop publishing. Meant you didn't need a printing press to make high-volume, high-quality printed material. That was big - of course, nowadays we completely take it for granted, and mostly we don't even bother with the printing part because everyone's online anyway. Colour. Seriously. Colour screens made a huge difference to non-geeks' perception of games & applications. Suddenly games seemed less like hard work and more like watching TV, which opened the doors for Sega, Nintendo, Atari et al to bring consumer gaming into the home. Media compression (MP3s and video files). And a whole bunch of things - like TiVO and iPods - that we don't really think of as computers any more because they're so ubiquitous and so user-friendly. But they are.

我认为,这里的共同点是曾经不可能的事情(制作打印文档;准确再现彩色图像;实时向世界各地发送消息;分发音频和视频材料),当时因为设备和物流成本昂贵,现在是消费者水平。那么,大公司现在在做什么过去是不可能的,但如果我们能想出如何做小而便宜的事情,可能会很酷?

任何涉及物理运输的东西都是有趣的。视频会议(目前)还没有取代真实的会议,但如果技术合适,它仍有可能取代真实的会议。一些休闲旅行可以被全感官沉浸式环境所取代——家庭影院就是一个微不足道的例子;另一个是位于Soho区一栋写字楼内的“虚拟高尔夫球场”,在这里,你可以在模拟球场上打18洞真正的高尔夫球。

不过,对我来说,下一个真正重要的事情将是制造。做的事情。勺子,吉他,椅子,衣服,汽车,瓷砖什么的。这些仍然依赖于生产和分销基础设施。我再也不用去商店买电影或专辑了——什么时候我就不用去商店买衣服和厨具了?

Sure, there are interesting developments going on with OLED displays and GPS and mobile broadband and IoC containers and scripting and "the cloud" - but it's all still just new-fangled ways of putting pictures on a screen. I can print my own photos and write my own web pages, but I want to be able to fabricate a linen basket that fits exactly into that nook beside my desk, and a mounting bracket for sticking my guitar FX unit to my desk, and something for clipping my cellphone to my bike handlebars.

与编程无关?不…但在1980年,声音制作也不是。或者视频分发。或者给赞比亚的亲戚发信息。大处着眼,伙计们……:)