这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
我认为我们看待这个问题的方式是错误的,得出的结论也是错误的。如果我做对了,循环就会变成:
理念->首次实施->少数人采用->临界质量->商品产品
从最初的想法到商品,你通常会经历几个世纪,假设这个想法能走到那个阶段。达·芬奇可能在1493年就画出了某种直升机,但他花了大约400年的时间才制造出一架能够自己飞离地面的实际机器。
从1580年威廉·伯恩对潜艇的第一次描述到1800年的第一次实施,你有220年的时间,而目前的潜艇仍处于起步阶段:我们几乎对水下旅行一无所知(地球上三分之二的地方都在海底,想想潜在的房地产;)
而且不可能没有更早,更早的想法,只是我们从未听说过。根据一些传说,亚历山大大帝在公元前332年使用了某种潜水钟(这是潜艇的基本概念:一种在海底运送人员和空气供应的装置)。算上这一点,我们从想法(甚至只有一个基本的原型)到生产产品需要2000年的时间。
我想说的是,在1980年之前,那些甚至都不是想法的实现,更不用说产品了……我敢打赌,“快速排序”算法是由中国古代某个无名档案管理员使用的。那又怎样?
当然,40年前就有了联网的计算机,但那无法与今天的互联网相比。基本的理念/技术是存在的,但不管怎样你都不能在线玩《魔兽》游戏。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
从历史上看,我们从来没有能够如此快速地“找到它们”。我认为这个周期正变得越来越快,但计算技术仍然非常年轻。
目前,我正试图弄清楚如何制作全息图(星球大战那种,没有任何物理支持)。我想我知道该怎么做了。我甚至还没有收集工具、材料和资金,即使我在某种程度上取得了成功,实际的想法也已经有几十年的历史了,至少相关的实现/技术已经被使用了很长时间。
一旦你开始列出实际的产品,你就可以相当肯定概念和最初的实现在一段时间前就已经存在了。没关系。
你可能会以某种理由争辩说,从来没有什么是新的,或者一切都是新的,总是如此。这就是哲学,两种观点都有道理。
从实践的观点来看,真理介于两者之间。真理不是二进制概念,布尔逻辑是该死的。
中国人也许早在很久以前就发明了印刷机,但大多数人能够在家以合理的价格打印出像样的彩色照片也不过10年的时间。
发明无处不在,这取决于你的标准和参照系。
其他回答
什么都没有。
我认为这是因为人们改变了他们的态度。人们过去相信,只要找到“好点子”,就能一夜暴富。如今,人们相信,回报最大的是执行过程,而不是发现过程。你有诸如“想法一毛钱一打”和“第二只老鼠得到奶酪”这样的咒语。因此,人们专注于开发现有的想法,而不是想出新的想法。
有效的并行化和量子计算——我认为这是两个已经取得进展的领域,而且还将取得更大的进展,从而使我们对计算能力的使用发生重大变化。
有效的并行化意味着在不需要特殊编程技术的情况下并行和分布处理,但将其内置到编译器/框架中。
包管理和分布式修订控制。
这些软件开发和分发方式的模式是最近才出现的,并且刚刚开始产生影响。
Ian Murdock称包管理是“Linux给业界带来的最大进步”。他会的,但他说得有道理。自1980年以来,安装软件的方式已经发生了重大变化,但大多数计算机用户仍然没有经历过这种变化。
Joel和Jeff在播客#36中与Eric Sink讨论了版本控制(或版本控制,或源代码控制)。似乎大多数开发人员还没有跟上集中式系统的步伐,DVCS被广泛认为是神秘和不必要的。
来自播客36的文字记录:
0:06:37 阿特伍德:…如果你假设——这是一个很大的假设——大多数开发人员都掌握了基本的源代码控制——坦白地说,我发现这是不正确的…… Spolsky:没有。他们中的大多数人,即使他们知道,也只是签入和签出,但分支和合并——这让他们感到困惑。
除了硬件创新之外,我倾向于发现太阳底下几乎没有新的东西。大多数真正伟大的想法都可以追溯到冯·诺依曼和艾伦·图灵这样的人。
如今,许多被贴上“技术”标签的东西实际上只是某人编写的程序或库,或者是用新的隐喻、首字母缩写或品牌名称对旧思想进行翻新。
个人电脑。
毫无疑问,在过去的30年里,计算最重要的部分是现在每个人都是它的一部分。家用电脑大约从1977年才开始普及,直到80年代才得到广泛应用。现在,幼儿园、老年中心和你的每个邻居都有一台。