这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
怪诞的开发风格(由Eric S Raymond在http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/中描述)。Raymond认为1991年Linus Tourvald发布的Linux内核是Bizarre开发风格的第一次使用。
其他回答
我没有资格在一般意义上回答这个问题,但仅限于计算机编程?并不多。
为什么?我思考这个问题已经有一段时间了,我认为我们缺少两样东西:历史感和客观评价我们所创造的一切的方法。并非所有情况都是这样,但大体上是这样。
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等等。我们有没有试过测量这个?我们到底想测量什么?正确性,程序员的生产力,代码的易读性等等?如何?软件工程确实应该着手解决这些问题,但我还没有看到。
I'd say the biggest trend is an ever increasing lack of location dependence and pervasiveness. An interesting philosophical exercise these days is to count the computers in you immediate area. They're everywhere desktops, keyboards, microwaves, radios, televisions, cell phones etc... My grandmother computer is illiterate however her life is as infested with small computers as everyone else's. She can make a call to me from the middle of an empty field. I can then answer that call zipping down the highway.
万维网已经被告知了,但更基本的,我会说“DNS”。 似乎它是在1983年发明的(http://en.wikipedia.org/wiki/Domain_Name_System),恕我直言,我们可以认为它是互联网协议的发明和传播到世界各地的能力之间的强制性联系,现在被称为网络。
还是在“网络”部分,我要加上WIFI。它是在90年代发明的(但我同意它不完全是“计算”,而更多地与硬件有关)。
在更严格的“算法”部分,我想到了turbocodes(1993年);有人说它只是接近了香农信号理论所定义的极限,但这种论点难道不会否定所有其他对“一切都已经在洛夫莱斯、巴贝奇和图灵的作品中萌芽”的回答吗?
在密码学领域,我想加上P.Zimmermann(1991年)的PGP程序,它为公民带来了一个相当健壮的(当时)免费加密程序,并有助于动摇政府对加密的立场。事实上,我认为这是密码学“自由化”的因素之一,这是发展电子商务的前提。
多代理系统。
你可以回到分布式人工智能的根源,我认为仍然可以安全地呆在80年代。
多智能体系统有很多组成部分,有很多研究涉及语言行为或合作,所以很难指出并说“看,这里,这是不同的,创新的和重要的!”但我还是会试试的。: -)
我认为信念-欲望-意图模型尤其值得注意。智能体在内部构建了世界的模型。他们有特定的愿望或目标,并制定计划,如何与他们所知道的世界互动,以实现这些目标,从而形成意图。
或者打个比方,电影《创》(Tron)中的角色对他们周围的世界是如何运作的有一定的了解。他们不了解整个世界,他们可能会对世界的某些部分产生误解。但他们有愿望和目标,他们提出了进一步实现目标的计划。如果你看过《创》,我相信你会有类似的感觉。
它还没有对计算机产生太大的影响。但是,你看,那些对计算机产生影响的东西似乎需要几十年的时间。参见:OOP, GC,字节码编译。
Eclipse内存分析器:
使用Lengauer-Tarjan支配树算法进行内存使用分析。