这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
让我们看看,连接机器(大规模并行)就是其中之一。
不管怎样,这整个问题似乎是艾伦·凯的自大狂,因为他发明了一切。
其他回答
在社区支持下,翻译软件可以进行手动更正和建议,随后由人工智能机器人形成模式,最终区分并正确预测不同翻译和上下文中的歧义。
虽然谷歌Translate可能不是野兽,但它是一个系统的母亲,或者可能是等待开发的祖母。
如果你仔细想想,文本语言实际上是大脑的输入,眼睛看到文本并将图像发送到大脑,然后大脑将其转化为理解。
虽然它真正的交流(尤其是人与人之间的交流)是一个高级的话题,但基本的是输入(带上下文)->翻译->理解。
为什么我们仍然没有真正的好办法给远方的同事或不会说我们语言的伙伴发送电子邮件?这显然是第一阶段。
一旦完成,我们就可以进行实时电话翻译之类的工作了。
相反,月复一月,我们最大的智力资产被用于其他更重要的项目,比如太空研究、流星探测,或者试图证明《圣经》是错的(打哈欠)。
我们把更多的时间花在基本的实际交流上怎么样?
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
基础设施的改变使家庭和办公室都能接入互联网。
记录并接受了从W3C到api的标准
除此之外,我们所认为的大多数新事物都比你想象的要久远得多(例如GUI, OOP)。
我认为,在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年,声音制作也不是。或者视频分发。或者给赞比亚的亲戚发信息。大处着眼,伙计们……:)
我没有资格在一般意义上回答这个问题,但仅限于计算机编程?并不多。
为什么?我思考这个问题已经有一段时间了,我认为我们缺少两样东西:历史感和客观评价我们所创造的一切的方法。并非所有情况都是这样,但大体上是这样。
For history, I think it's just something not emphasized enough in popular writing or computer science programs. Take language features, for example. A canonical source might be HOPL, but it's definitely not common knowledge among programmers to be able to mark the point in time or in which language a feature like GC or closures first appeared. And of course after that there's knowledge of progression over time: how has OOP changed since Simula? Compare and contrast our sense of history with that of other fields like maybe political science or philosophy.
至于判断,这确实是我们寻求成功的客观衡量标准的失败。给定foobar,它以什么可衡量的方式改进了编程行为中的某些方面,其中foobar是任何设计模式,敏捷方法,TDD等等。我们有没有试过测量这个?我们到底想测量什么?正确性,程序员的生产力,代码的易读性等等?如何?软件工程确实应该着手解决这些问题,但我还没有看到。