这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
上世纪八十年代初,施乐帕洛阿尔托研究中心对计算机蠕虫进行了研究。
摘自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.")
引用艾伦·凯的话:“预测未来最好的方法就是创造未来。”
其他回答
比特币解决了双重消费问题。它被用来创造去中心化的电子货币。一个名为Namecoin的变体使用相同的技术来构建一个分散的命名系统(类似于DNS)。
过去曾有人试图创建加密货币(这个想法当然并不新鲜),但比特币似乎是第一个成功的实现。其独特的P2P算法在不依赖任何可信权威的情况下解决了双重花费问题。
即时消息已经出现很长时间了(60年中后期),但是IRC在1988年之前还没有出现。
除此之外,视频通讯(比如,Windows Live Messenger,或Skype,或……)确实改变了我们的沟通方式;)而且是最近才出现的。
<修改> (见VideoConferencing: 1968, alt text http://wpcontent.answers.com/wikipedia/en/thumb/6/64/On_Line_System_Videoconferencing_FJCC_1968.jpg/180px-On_Line_System_Videoconferencing_FJCC_1968.jpg,正如Alan Kay自己在评论中指出的那样:
请再次查看恩格尔巴特在1968年演示的内容(包括实时视频聊天和屏幕共享)。低,猜测真的没有查东西管用。这就是为什么大多数人对事物的发明时间做不充分的假设。)
把它放在我的脸上;),这是理所当然的。
注意:那个时代的“网络摄像头”(视频设置)并不是为普通的客厅设计的;)
> < /修正
[…继续回答:]
网络摄像头替代文本http://wpcontent.answers.com/wikipedia/commons/thumb/c/c5/Logitech_Quickcam_Pro_4000.jpg/180px-Logitech_Quickcam_Pro_4000.jpg的推广也有帮助(始于1991年,第一个这样的摄像头,称为CoffeeCam,是针对剑桥大学计算机科学系的特洛伊房间咖啡壶)。
所以:80后:2 / 3:IRC和网络摄像头。
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
我相信单元测试、TDD和持续集成是1980年之后的重大发明。
我认为,在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年,声音制作也不是。或者视频分发。或者给赞比亚的亲戚发信息。大处着眼,伙计们……:)