这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
声明性编程。
1979年,“计算机程序”势在必行。程序员应该指导编译器做什么和怎么做。(N1)
今天,ASP。NET WebForms和WPF程序员经常在不知道或不关心它将如何实现的情况下编写代码。维基百科还有其他不那么主流的例子。此外,所有sgml派生的“标记”语言都是声明性的,我怀疑1979年的许多程序员是否能预测到它们在30年后的重要性或普遍性。
尽管声明式编程的概念在1980年之前就存在了(参见这篇1975年的论文),但它的发明是在1985年Caml的引入(有争议)或1990年Haskell的引入(争议较少)时出现的。从那时起,声明式编程越来越受欢迎。而且,当大规模多核处理器最终到来时,我们都将成为声明式程序员。
-- 注: 我不能直接证明这一点,因为1979年我还是个胎儿。 从其他答案来看,人们似乎混淆了概念和发明。达·芬奇构想了直升机,但他没有发明它。这个问题是关于计算机发明的。 请不要在评论中提到Prolog (rel. 1975),除非你真的用它开发了一个应用程序。
其他回答
在社区支持下,翻译软件可以进行手动更正和建议,随后由人工智能机器人形成模式,最终区分并正确预测不同翻译和上下文中的歧义。
虽然谷歌Translate可能不是野兽,但它是一个系统的母亲,或者可能是等待开发的祖母。
如果你仔细想想,文本语言实际上是大脑的输入,眼睛看到文本并将图像发送到大脑,然后大脑将其转化为理解。
虽然它真正的交流(尤其是人与人之间的交流)是一个高级的话题,但基本的是输入(带上下文)->翻译->理解。
为什么我们仍然没有真正的好办法给远方的同事或不会说我们语言的伙伴发送电子邮件?这显然是第一阶段。
一旦完成,我们就可以进行实时电话翻译之类的工作了。
相反,月复一月,我们最大的智力资产被用于其他更重要的项目,比如太空研究、流星探测,或者试图证明《圣经》是错的(打哈欠)。
我们把更多的时间花在基本的实际交流上怎么样?
Eclipse IDE
将Smalltalk这样的IDE带给大众;)
互联网本身早于1980年,但由蒂姆·伯纳斯-李提出并实现的万维网(“通过简单机制分布式超文本”)始于1989/90年。
虽然超文本的概念以前就存在(Nelson的Xanadu曾尝试实现分布式方案),但WWW是实现分布式超文本系统的一种新方法。Berners-Lee以一种强大且易于实现的方式将简单的客户机-服务器协议、标记语言和寻址方案结合在一起。
我认为大多数创新都是以一种原创的方式重新组合现有的作品。万维网的每一部分以前都以某种形式存在过,但两者的结合只有在事后才变得明显。
我确信你现在正在使用它。
MPI和PVM并行化。
我相信单元测试、TDD和持续集成是1980年之后的重大发明。