这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
JIT编译是在20世纪80年代末发明的。
其他回答
万维网已经被告知了,但更基本的,我会说“DNS”。 似乎它是在1983年发明的(http://en.wikipedia.org/wiki/Domain_Name_System),恕我直言,我们可以认为它是互联网协议的发明和传播到世界各地的能力之间的强制性联系,现在被称为网络。
还是在“网络”部分,我要加上WIFI。它是在90年代发明的(但我同意它不完全是“计算”,而更多地与硬件有关)。
在更严格的“算法”部分,我想到了turbocodes(1993年);有人说它只是接近了香农信号理论所定义的极限,但这种论点难道不会否定所有其他对“一切都已经在洛夫莱斯、巴贝奇和图灵的作品中萌芽”的回答吗?
在密码学领域,我想加上P.Zimmermann(1991年)的PGP程序,它为公民带来了一个相当健壮的(当时)免费加密程序,并有助于动摇政府对加密的立场。事实上,我认为这是密码学“自由化”的因素之一,这是发展电子商务的前提。
我想说的是,CDMA是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等等。我们有没有试过测量这个?我们到底想测量什么?正确性,程序员的生产力,代码的易读性等等?如何?软件工程确实应该着手解决这些问题,但我还没有看到。
标签,信息分类的方式。是的,就是每个问题下面的小方框。
令人惊讶的是,标签发明花了大约30年的时间。我们使用了目录和目录;我们使用了为印刷书籍优化的东西。
然而,30年比人们意识到印刷书籍可以用更小的格式的时间短得多。人们可以把书放在手里。
我认为核心CS玩家低估了标签概念。所有的研究都集中在自然语言处理(自顶向下的方法)。但是标签是第一种计算机和人类都能很好理解的语言。这是一种自底向上的方法,使计算机使用自然语言。
企业服务总线似乎是一个相当新的“发明”,尽管它当然是基于更古老的技术。