这个问题来自评论,关于过去50年左右计算领域的各种进步。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
我相信单元测试、TDD和持续集成是1980年之后的重大发明。
MPI和PVM并行化。
除了硬件创新之外,我倾向于发现太阳底下几乎没有新的东西。大多数真正伟大的想法都可以追溯到冯·诺依曼和艾伦·图灵这样的人。
如今,许多被贴上“技术”标签的东西实际上只是某人编写的程序或库,或者是用新的隐喻、首字母缩写或品牌名称对旧思想进行翻新。
基础设施的改变使家庭和办公室都能接入互联网。
记录并接受了从W3C到api的标准
除此之外,我们所认为的大多数新事物都比你想象的要久远得多(例如GUI, OOP)。
采用面向对象。
这个想法早前就出现了(例如Simula),但在20世纪90年代成为主流。(恕我直言,它最大的好处之一是在开发人员之间提供了一个通用的词汇表,所以它的广泛采用使它更有价值。)
有一件事让我吃惊,那就是简陋的电子表格。非程序员的人用一个简单的公式网格就可以为现实世界的问题构建狂野而奇妙的解决方案。在桌面应用程序中复制他们的努力通常需要比编写电子表格多10到100倍的时间,最终的应用程序通常更难使用,充满bug !
我相信电子表格成功的关键是自动依赖分析。如果电子表格的用户被迫使用观察者模式,他们就没有机会得到正确的结果。
因此,最大的进步是自动依赖分析。现在,为什么没有任何现代平台(Java, .Net, Web Services)将其构建到系统的核心中呢?特别是在一个通过并行化扩展的时代——依赖关系图导致并行重新计算变得微不足道。
编辑:我刚查过。VisiCalc发布于1979年——让我们假设它是1980年后的发明。
Edit2:似乎艾伦已经注意到了电子表格——如果这个问题让他来到了这个论坛是正确的!
自由软件基金会(成立于1985年)
即使你不是他们哲学的全心全意的支持者,他们一直在推动的理念,自由软件,开源已经对软件行业和一般内容产生了惊人的影响(例如维基百科)。
在操作系统核心开发中使用函数式编程/语言。
开源社区开发。
我认为,在1980年,如果你在使用一台电脑,你要么是在赚钱,要么就是一个极客……那么发生了什么变化呢?
打印机和消费者级<强>桌面 出版< / >强。意思是你不需要 印刷机大批量生产, 高品质印刷材料。那 是大 -当然,现在的我们 完全认为这是理所当然的 大多数情况下,我们甚至都不考虑 打印部分因为每个人 在线。李< / p > < / > <李> < p > # EYZ0。认真对待。彩色屏幕对非极客来说有很大的不同。 游戏感知&应用程序。 突然间,游戏似乎不那么难了 工作,更喜欢看电视,这 为世嘉,任天堂, 雅达利等公司为消费者带来了游戏
媒体压缩(mp3和视频 文件)。还有一大堆事情 比如TiVO和ipod——我们没有 不再认为是电脑了 因为它们无处不在 用户友好性。但是它们是。
我认为,这里的共同点是曾经不可能的事情(制作打印文档;准确再现彩色图像;实时向世界各地发送消息;分发音频和视频材料),当时因为设备和物流成本昂贵,现在是消费者水平。那么,大公司现在在做什么过去是不可能的,但如果我们能想出如何做小的事情,可能会很酷。便宜吗?
任何涉及物理运输的东西都是有趣的。视频会议(目前)还没有取代真实的会议,但如果技术合适,它仍有可能取代真实的会议。一些休闲旅行可以被全感官沉浸式环境所取代——家庭影院就是一个微不足道的例子;另一个是位于Soho区一栋写字楼内的“虚拟高尔夫球场”,在这里,你可以在模拟球场上打18洞真正的高尔夫球。
不过,对我来说,下一个真正重要的事情将是制造。做的事情。勺子,吉他,椅子,衣服,汽车,瓷砖什么的。这些仍然依赖于生产和分销基础设施。我再也不用去商店买电影或专辑了——什么时候我就不用去商店买衣服和厨具了?
当然,在OLED显示器、GPS、移动宽带、IoC容器、脚本和“云”方面有一些有趣的发展,但这一切仍然只是把图片放在屏幕上的新奇方式。我可以打印我自己的照片,写我自己的网页,但我希望能够制作一个亚麻篮子,正好放在我桌子旁边的角落里,还有一个安装支架,可以把我的吉他FX装置固定在我的桌子上,还有一些东西可以把我的手机夹在我的自行车把手上。
与编程无关?不…但在1980年,声音制作也不是。或者视频分发。或者给赞比亚的亲戚发信息。大处着眼,伙计们……:)
“奇点”,以及所有类似的项目,即用托管代码开发操作系统。
有效的并行化和量子计算——我认为这是两个已经取得进展的领域,而且还将取得更大的进展,从而使我们对计算能力的使用发生重大变化。
有效的并行化意味着在不需要特殊编程技术的情况下并行和分布处理,但将其内置到编译器/框架中。
HTM系统(层级时间记忆)。
一种人工智能的新方法,由Jeff Hawkins通过书“在智力”发起。
现在活跃在一家名为Numenta的公司,通过开发“真正的”人工智能来测试这些想法,并邀请社区通过sdk使用该系统来参与。
它更多的是从头开始构建机器智能,而不是试图模仿人类的推理。
包管理和分布式修订控制。
这些软件开发和分发方式的模式是最近才出现的,并且刚刚开始产生影响。
Ian Murdock称包管理为“Linux给业界带来的最大进步”。他会的,但他说得有道理。自1980年以来,安装软件的方式已经发生了重大变化,但大多数计算机用户仍然没有经历过这种变化。
Joel和Jeff一直在讨论版本控制(或版本控制,或源代码控制)播客# 36。似乎大多数开发人员还没有跟上集中系统的步伐,DVCS被广泛认为是神秘和不必要的。
从# EYZ0:
0:06:37 # EYZ0……如果你假设——这是一个很大的假设——大多数开发人员都掌握了基本的源代码控制——坦白地说,我发现这是不正确的…… # EYZ0没有。他们中的大多数人,即使他们知道,也只是签入和签出,但分支和合并——这让他们感到困惑。
0:06:37
# EYZ0……如果你假设——这是一个很大的假设——大多数开发人员都掌握了基本的源代码控制——坦白地说,我发现这是不正确的……
# EYZ0没有。他们中的大多数人,即使他们知道,也只是签入和签出,但分支和合并——这让他们感到困惑。
互联网本身早于1980年,但由Tim Berners-Lee提出并实现的万维网(“通过简单机制分布式超文本”)始于1989/90年。
虽然超文本的想法以前就存在(纳尔逊的世外桃源曾尝试实现分布式方案),但WWW是实现分布式超文本系统的新方法。Berners-Lee以一种强大且易于实现的方式将简单的客户机-服务器协议、标记语言和寻址方案结合在一起。
我认为大多数创新都是以一种原创的方式重新组合现有的作品。万维网的每一部分以前都以某种形式存在过,但两者的结合只有在事后才变得明显。
我确信你现在正在使用它。
1980年1月2日我开始编程。我试着思考在我的职业生涯中有哪些重大的新发明。我很难想出一个。大多数我认为重要的东西实际上是在1980年之前发明的,但直到1980年之后才被广泛采用或改进。
虽然硬件有了巨大的进步,但软件行业一直在努力跟上。我们比1980年领先了几光年,但大多数改进都是改进,而不是发明。自1980年以来,我们一直忙于应用技术进步,而不是发明创造。就其本身而言,这些渐进式的发明大多不重要或不强大,但当你回顾过去29年,它们相当强大。
我们可能需要接受渐进式的改进并引导它们。我相信真正原创的想法可能会来自很少接触计算机的人,而且他们越来越难找到。
JIT编译是在20世纪80年代末发明的。
这是一个很难回答的问题,因为在那之后,除了硬件的改进之外,几乎没有什么东西是具有重大积极意义的发明。虽然在20世纪80年代之前,有许多重大的发明只影响人们,但现在,因为它们在当时是不可行的。
见鬼。血统
不确定1980年的情况,但人工智能社区几十年来一直是一个创意生成器,他们仍然在做。
计算机蠕虫是上世纪80年代初施乐帕洛阿尔托研究中心研究出来的。
摘自John Shoch和Jon Hupp的“蠕虫”程序-分布式计算的早期经验”(美国ACM通讯,1982年3月,第25卷第3期,第172-180页,1982年3月):
在冲击波骑士中,J。布伦纳 发展了万能的概念 “绦虫”程序运行松散 通过计算机网络-一个 这个想法可能看起来相当令人不安, 但这也超出了我们的 当前功能。基本模型, 不过,还是很有挑衅性的 一:程序或计算 可以在机器间移动, 根据需要利用资源,以及 类似地,我们曾经描述过a 的计算模型 经典科幻电影,The Blob:一个开始的计划 在一台机器上运行,但作为它 对计算周期的需求增长了 可以找到闲置的机器, 并将这些资源包括在内。 大半夜的,这样 该计划可以动员数百人 一幢大楼里的机器;在 早上,当用户收回他们的 机器,“一团”将不得不 有序撤退, 收集中间结果 它的计算。躲在一个或者 白天用两台机器 程序可能会再次出现 资源再次变得可用 扩展计算。(这 夜间探险的亲和力 一位研究人员将其描述为 “吸血鬼程序。”)< / p >
在冲击波骑士中,J。布伦纳 发展了万能的概念 “绦虫”程序运行松散 通过计算机网络-一个 这个想法可能看起来相当令人不安, 但这也超出了我们的 当前功能。基本模型, 不过,还是很有挑衅性的 一:程序或计算 可以在机器间移动, 根据需要利用资源,以及
引用艾伦·凯的话:“预测未来最好的方法就是创造未来。”
软件:
虚拟化和仿真
P2P数据传输
社区驱动的项目,如维基百科、SETI@home……
网络爬行和网络搜索引擎,即索引信息分布在世界各地
硬件:
模块化PC
电子纸
来回答一个稍微不同的问题。我认为我们需要在隐私、信任和声誉领域有大的想法。我的电脑几乎能捕捉到关于我的一切,我在哪里,我说了什么,我打了什么,我看到了什么……大量的信息和同等数量的实体(人、商店、网站、服务),我可能想与他们共享其中的一些信息,即使它只是一个数据块。
我的信息需要挖掘(不是谷歌的,Facebook的或苹果的)。我的计算机需要代表我使用它,因此信任需要端到端。这样我们就可以将新的信息中间商去中介化。
自1980年以来,围绕社会计算的想法已经取得了进展。油井开始于1985年。虽然我确信以前有在线社区,但我相信该领域的一些真正的见解发生在1980年之后。社会团体及其在软件系统上的交互的不利动态方面非常类似于塔科马海峡大桥的灾难。
我认为< >强Clay Shirky的< / >强在该领域的工作阐明了这些影响以及如何减轻它们。我想说,社交软件见解的有趣的现实世界例子包括reCAPTCHA和维基百科,其中重要的有价值的工作是由软件调解的参与者完成的。
什么都没有。
我认为这是因为人们改变了他们的态度。人们过去相信,只要找到“好点子”,就能一夜暴富。如今,人们相信,回报最大的是执行过程,而不是发现过程。你有诸如“想法一毛钱一打”和“第二只老鼠得到奶酪”这样的咒语。因此,人们专注于开发现有的想法,而不是想出新的想法。
使用人机交互物理学“,提供了另一种可以理解的比喻。这与手势和触觉相结合,很可能会取代70年代发明的、从80年代中后期开始普遍使用的当前常见GUI隐喻。
1980年的计算能力还不足以让这成为可能。我相信游戏可能引领了这条路。iPod Touch/iPhone中的列表滚动交互便是一个很好的例子。交互机制依赖于动量和摩擦如何在现实世界中工作的直觉,以提供滚动项目列表的简单方法,而可用性依赖于导致滚动的物理手势。
(普遍)加密。没有加密,任何金融交易都不会发生。这仍然是一个需要更多创新和用户友好性的领域。
移动电话。
第一个“无线手机”专利诞生于1908年,并且酝酿了很长一段时间(0G于1945年,1G于1979年在日本推出),而现代2G数字手机直到1991年才出现。1993年才出现短信,1999年才出现互联网接入。
数码相机呢?
根据维基百科,第一台真正的数码相机出现在1988年,大众市场数码相机在20世纪90年代后期变得负担得起。
我认为我们需要真正的新想法 在计算机的大部分领域,我 想知道有什么重要的吗 以及已经完成的强有力的任务 最近。如果我们真的找不到 他们,那么我们应该问“为什么? “我们该怎么办?”< / p >
在我看来,我们在计算领域没有那么多新想法,因为我们在很大程度上不需要它们。我们一直在挖掘旧的想法,并从中获得了很多东西,比如cpu速度的显著增长。
当我们因为“井已经干了”而放弃新想法时,那么我们就会看到需求是发明之母。
我还会推荐3D鼠标。从20世纪90年代初开始就有几种变体。对于任何使用3D的人来说,像SpaceNavigator这样的东西让生活变得更容易。(免责声明:我与3Dconnexion没有任何关系,只是一个满意的无rsi用户。)
我能想到的1980年还不存在的活动是跨脱节域的全局搜索。比如谷歌和一个(非常少的)前辈——都是在1980年之后。与语法标记的约定相关联,我认为这是一个“新想法”;但我认为这也只是刚刚开始;头顶上有很大的空间可以建房子。
有一种设备有可能加速这种已经闪电般的速度,它将很快出现,即相机/地理信息系统/电话/网络的组合。它首次创造了在四维空间中自动收集、分类和聚合数据点的机会。甚至这类数据的繁琐手工收集也在萌芽;想象一下,当它默认执行时。
无论好坏。
至于编程概念,IoC /依赖注入在1988年,根在1983年。Fowler在他的Bliki上对这个概念的历史做了一些注释。
我认为笔记本电脑是在1980年左右发明的,我还认为笔记本电脑和便携式计算机的发展改变了很多人的生活——尤其是那些在IT行业工作的人,或者那些使用电脑和旅行的人。
我想说最大的趋势是越来越缺乏位置依赖性和普及性。最近一个有趣的哲学练习是数一下你周围的电脑数量。它们无处不在——台式机、键盘、微波炉、收音机、电视、手机等等……我的祖母不懂电脑,但她的生活和其他人一样充斥着小型电脑。她可以在一片空地上给我打电话。然后我就可以在高速公路上回答这个问题了。
回答“为什么新思想会消亡”和“如何应对”这两个问题?
我怀疑,缺乏进展很大程度上是由于大量资本的涌入和行业中根深蒂固的财富。听起来似乎有悖直觉,但我认为任何新想法都只有一次机会,这已成为传统智慧;如果第一次尝试失败,它就不能再来了。它被一些既得利益者收购,或者干脆失败了,精力就没了。例如平板电脑和综合办公软件。Newton和其他几款游戏具有真正的潜力,但最终(通过竞争减员和糟糕的判断)浪费了它们与生俱来的权利,扼杀了整个类别。(我特别喜欢阿什顿·泰特的《框架》;但我还在用Word和Excel)。
怎么办呢?首先想到的是Wm。莎士比亚的建议:“让我们杀了所有的律师。”但恐怕他们现在装备太精良了。实际上,我认为最好的选择是找到某种开源计划。它们似乎比其他选择更好地保持可访问性和增量改进。但是这个行业已经变得足够大了,所以某种有机的合作机制是必要的。
我还认为,有一种动态表明,既得利益者(尤其是平台)需要大量的改变——流失——才能证明持续的收入流是合理的;这就吸收了大量的创造性能量,而这些能量本可以用在更好的地方。看看我们花了多少时间在微软、Sun、Linux或Firefox的最新版本上,对大部分已经正常工作的系统进行更改。这并不是因为他们是邪恶的,这只是在这个行业中形成的。没有所谓的稳定平衡;所有的反馈机制都是积极的,倾向于改变而不是稳定。(你是否见过一个特性被撤销,或者一个变更被撤销?)
关于SO的另一个讨论线索是臭鼬工厂综合症(参考:Geoffrey Moore):在大型组织中,真正的创新几乎总是(90%以上)出现在自发出现的未经授权的项目中,这些项目完全由个人或小团队的主动性推动(通常会受到正式的管理等级的反对)。所以:质疑权威,反抗体制。
更好的用户界面。
今天的用户界面仍然很糟糕。我指的不是小的方面,而是大的、基本的方面。我不禁注意到,即使是最好的程序也仍然有一些接口,这些接口要么极其复杂,要么需要以其他方式进行大量的抽象思考,而且无法达到传统的非软件工具的易用性。
当然,这是由于软件可以比传统工具做更多的更多的。但这不是接受现状的理由。此外,大多数软件都做得不好。
一般来说,应用程序仍然缺乏某种“只是工作”的感觉,它们过多地关注可以做什么,而不是应该应该做什么。有一点已经被多次提出,但仍然没有解决,那就是储蓄。应用程序崩溃,破坏了几个小时的工作。我有每隔几秒钟按Ctrl+S的习惯(当然,这在web应用程序中不再适用)。我为什么要这么做?这太愚蠢了。这显然是一个自动化的任务。当然,应用程序还必须为我所做的每一个修改保存一个diff(基本上是一个无限撤销列表),以防我犯错误。
解决这个问题其实并不难。它只是很难在每一个应用程序中实现它,因为没有好的API来做到这一点。编程工具和库必须显著改进,才能在所有平台和程序上轻松实现这些工作,适用于所有具有任意备份存储且不需要用户交互的文件格式。但在我们最终开始编写“好的”应用程序而不仅仅是足够的应用程序之前,这是必要的一步。
我相信苹果目前在某些方面最接近“刚刚好”的感觉。以苹果最新版本的iPhoto为例,它具有人脸识别功能,可以根据照片中出现的人自动对照片进行分组。那是一个经典的任务,用户不想要手动执行,也不理解为什么计算机不自动执行。即使是iPhoto也离一个好的用户界面还有很长的路要走,因为上述功能仍然需要用户的最终确认(每一张照片!),因为面部识别引擎并不完美。
我认为没有什么重要的东西被发明出来。但是# EYZ0。那时有更多的理论家参与其中,现在你在一个程序员论坛上问这个问题。
当时的大多数想法都没有得到实施,或者即使实施了,它们也没有任何真正的重要性,因为当时的软件行业还不存在,市场营销、人力资源、开发阶段或alpha版本也不存在:)。
另一个缺乏发明的原因是大多数人使用Windows:)不要误解我的意思,我确实讨厌M$,但从这个角度来看:你有一个完美的工作界面,没有什么新东西可以添加到它,也许只是一些新的彩色按钮。它也足够封闭,所以你不能用它做任何事情而不打破它。这就是为什么我更喜欢开放的应用程序,这样你可以得到更多“开放”的人,你可以和他们交谈,问问题,提出新的想法,实际上得到了实施,或者至少把一个开放的待办事项列表,这样你就得到了某种“进化”。你并没有真正看到任何新的东西,因为你被困在多年前“发明”的相同基本界面中……有人在生产环境中尝试过ION窗口管理器吗?它有一种新的界面,实际上可以让你更快地做事,即使它看起来很奇怪
M$, Adobe,等等你能想到的公司,都拥有大量的专利,所以你不能将你的工作建立在它们或衍生品的基础上(你也不知道他们拥有什么样的未开发技术)。以MP3和GIF为例(我相信它们现在都是免费格式,但它们也有点过时了..)MP3是音频的“王者”,如果没有什么算法比它更好的话,但是没有得到足够的关注,因为它们没有被推向消费者市场。GIF……拜托,256色??从这一点来看,我很好奇这个线程中有多少人在“开放”的东西上工作,将在其他项目中重用,有多少人在“封闭”的项目上工作,受到NDA项目的保护?
即使这听起来有点像“免费的威利”,但在80年代,软件是免费的,所有东西都有文档,所有硬件都更简单,更容易使用……同时也更加有限,所以人们并没有浪费时间去执行3d游戏或网页,而是致力于真正的算法。
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
我认为自20世纪80年代以来发明的最好的想法将是我们不知道的。要么是因为它们很小,无处不在,以至于不引人注意,要么是因为它们的受欢迎程度还没有真正起飞。
前者的一个例子是单击并拖动以选择文本的一部分。我相信这是1984年首次出现在麦金塔电脑上。在此之前,您有单独的按钮用于选择选择的开始和结束。相当繁重。
后者的一个例子是(可能是)可视化编程语言。我不是说像hypercard,我是说像Max/MSP, Prograph, Quartz Composer, yahoo pipes等。目前它们确实是小众的,但我认为,除了思想分享之外,没有什么能阻止它们像标准编程语言一样具有表现力和强大的功能。
可视化编程语言有效地加强了引用透明性的函数式编程范式。这对于代码来说是一个非常有用的属性。他们执行这一点的方式也不是人为的——这只是由于他们使用的比喻。
VPL让那些本来不会编程的人也能编程,比如有语言障碍的人,比如阅读困难的人,甚至只是需要简单节省时间的门外汉。专业程序员可能会对此嗤之以鼻,但就我个人而言,我认为如果编程成为一种真正无处不在的技能,就像识字一样,那就太好了。
就目前来看,VPL只是一个小众的兴趣,还没有真正成为主流。
我们应该做些什么不同的事情
所有计算机科学专业的学生都应该修双学位——将计算机科学专业与人文学科相结合绘画、文学、设计、心理学、历史、英语等等。很多问题在于,这个行业充斥着对世界的理解非常狭隘和缺乏想象力的人,因此无法开始想象计算机的工作方式会有什么显著的不同。(如果有帮助的话,你可以想象我说的是别人,而不是你,也就是读这篇文章的人。)数学是伟大的,但最终它只是一个实现目标的工具。# EYZ1。
但即使我们有了它们,也需要有一个环境,在这个环境中,做一些新事情是值得冒险的。它是任何真正新颖的东西都会被无情地拒绝的100倍。(牛顿就是一个例子)。# EYZ2。我们不应该害怕尝试过去失败过的想法。我们不应该完全拒绝自己的失败,我们应该学会承认失败。我们不应该把失败看作一件坏事,所以我们不应该对自己或别人撒谎。我们应该习惯它,因为这是这个不断变化的行业中唯一不变的东西。后做出反思在这方面很有用。
我认为,关于闲聊,更有趣的事情之一不是语言本身,而是用来设计闲聊的过程。迭代的设计过程,经过多次修订-但也非常仔细和批判性地识别现有系统的缺陷,并在下一个系统中找到解决方案。我们看问题的角度越多、视野越广,就越能判断出错误和问题在哪里。所以不要只学习计算机科学。尽可能多地学习你感兴趣的其他学科。
# EYZ0。
1979年,“计算机程序”势在必行。程序员被期望指示编译器在什么和如何上执行该操作。(N1)
今天,ASP。净WebForms和WPF程序员经常编写代码,而不知道或不关心如何将如何实现。维基百科还有其他不那么主流的例子。此外,所有源自# eyz4的“标记”语言都是声明性的,我怀疑1979年的许多程序员是否能预测到它们在30年后的重要性或普遍性。
尽管声明式编程的概念在1980年之前就存在了(参见1975年的这篇论文),但发明是在1985年引入Caml(有争议)或1990年引入Haskell(争议较小)之后出现的。从那时起,声明式编程越来越受欢迎。而且,当大规模多核处理器最终到来时,我们将所有变成声明式程序员。
企业服务总线会出现是一个相当新的“发明”,尽管它当然是基于更古老的技术。
Damas-Milner类型推理(通常称为Hindley-Milner类型推理)发表于1983年,从那时起一直是每个复杂静态类型系统的基础。这在编程语言中是一个真正的新想法(基于20世纪70年代发表的想法,但直到1980年之后才付诸实践)。就重要性而言,我把它与Self和用于实现Self的技术放在一起;就影响力而言,它无可匹敌。(OO世界的其余部分仍然在Smalltalk或Simula上做变化。)
类型推断的变化仍在上演;我最喜欢的变体是Wadler和Blott用于解决重载的类型的类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局还在书写中。
这里有一个谷歌使用映射-规约模式的宣传,不仅是为了它本身,也是谷歌在不可靠的商品机器农场上运行快速、可靠服务的成就的代表。这绝对是一项重要的发明,与1980年主导重量级计算的大型主机方法完全不同。
计算机图形学,特殊效果和3D动画
飞行汽车和悬浮滑板。哦,等等,那些还没有被发明出来。但到2015年,我们必须拥有它们。否则《回到未来2》就是个弥天大谎!
它提供了一种信息丰富的方式来传播信息和辩论。我发现它比标准的采访更具互动性,但没有博客评论那么嘈杂。
即时消息已经存在很长时间了(60年中后期),但IRC在1988年之前还没有出现。
视频通信,最重要的是,(例如,Windows Live Messenger,或Skype,或…)真的做了改变我们沟通的方式;) 而且是最近才发生的。
同样,请查看Engelbart在1968年演示的(包括视频聊天和屏幕分享)。# EYZ1。这就是为什么大多数人对事物的发明时间做不充分的假设。)
看看我的的脸;),这是正确的。
注意:那个时代的“网络摄像头”(视频设置)并不是为普通的客厅设计的;)
& lt; / correction>
[…继续回答:]
网络摄像头 alt文本http://wpcontent.answers.com/wikipedia/commons/thumb/c/c5/Logitech_Quickcam_Pro_4000.jpg/180px-Logitech_Quickcam_Pro_4000.jpg的推广也有帮助(1991年开始,第一个这样的相机,称为CoffeeCam,是针对剑桥大学计算机科学系特洛伊房间的咖啡壶)。
所以:80后:2 / 3:IRC和网络摄像头。
DOS。我不是DOS的粉丝,但多亏了DOS和IBM-PC电脑才有了今天的样子(不管是好是坏)。
标签,信息分类的方式。是的,就是每个问题下面的小方框。
令人惊讶的是,标签发明花了大约30年的时间。我们使用了目录和目录;我们使用了为印刷书籍优化的东西。
然而,30年比人们意识到印刷书籍可以用更小的格式的时间短得多。人们可以把书放在手里。
我认为核心CS玩家低估了标签概念。所有的研究都集中在自然语言处理(自顶向下的方法)。这是一种自下而上的方法,使计算机使用自然语言。
# EYZ0:
它使用Lengauer-Tarjan支配树算法进行内存使用分析。
数字音乐合成器。
问候
编辑:哎呀-我刚刚发现CMI灯管是在1978年发明的。忘掉上面的,抱歉。
Eclipse IDE
将Smalltalk这样的IDE带给大众;)
收缩包装软件
在1980年以前,软件大多是专门编写的。如果你经营一家企业,想要计算机化,你通常会有一台计算机、编译器和数据库,然后自己写东西。业务软件通常是为适应业务实践而编写的。这并不是说没有固定的软件(我在1980年之前使用SPSS),但这不是常态,我看到的往往是基础设施和研究软件。
现在,你可以去电脑商店,在货架上找到经营小生意所需的一切。它的设计并不是为了无缝地适应您曾经拥有的任何实践,但是一旦您学会或多或少地按照它的工作流程工作,它就会很好地工作。像SAP和仁科(PeopleSoft)这样的大企业比过去更接近于收缩包装。
这并不是一个彻底的突破,但在1980年之后,有一个非常明确的转变,从昂贵的定制软件到低成本的现成软件,灵活性从软件转移到业务流程。
它还影响了软件的经济性。定制软件解决方案可以盈利,但无法规模化。你只能向一个客户收取这么多钱,你不能把同样的东西卖给多个客户。使用收缩包装软件,你可以卖出很多很多相同的东西,在一个非常大的销售基础上摊销开发成本。(你必须提供支持,但这是有限度的。就当这是销售软件的边际成本吧。)
从理论上讲,变革中有大赢家的地方,就会有输家。到目前为止,软件业务一直在扩张,因此随着一些领域的商品化,其他领域也会随之开放。这很可能会在某个时候结束,中等天赋的开发者会发现自己陷入真正的困境,无法为大公司工作,被挤出市场。(这可能发生在其他领域;我怀疑,如果没有QuickBooks之类的软件,对会计的需求会小得多。)
谷歌的网页排名算法。虽然它可以被看作是网络爬行搜索引擎的改进,但我要指出的是,它们也是在1980年之后开发的。
获取海量数据。
与上世纪80年代相比,我们现在所拥有的数据的规模和规模是巨大的。为了能够存储和显示这些东西,我们不得不对硬件和软件进行大量更改。总有一天,我们会真正学会如何筛选和挖掘有用的东西。有一天。
保罗。
受保护的内存。在保护内存之前,如果你的程序犯了错误,你可以在任何地方开始执行代码——实际上总是挂起整个机器。没错,重启时间到了!
硬件成本低。我的第一台电脑在1978年花了500美元——这在当时是一笔巨款。降低成本让每个人的办公桌上都有了电脑。
Ctrl-C + Ctrl-V + Ctrl-X组合:)
我没有资格在一般意义上回答这个问题,但仅限于计算机编程?并不多。
为什么?我思考这个问题已经有一段时间了,我认为我们缺少两样东西:历史感和客观评价我们所创造的一切的方法。并非所有情况都是这样,但大体上是这样。
对于历史,我认为它只是在通俗写作或计算机科学课程中没有得到足够的强调。以语言特性为例。一个规范的源可能是HOPL,但对于程序员来说,能够标记时间点或在哪种语言中第一次出现GC或闭包之类的特性绝对不是常识。当然,在此之后,还有随时间发展的知识:自Simula以来,OOP发生了怎样的变化?将我们的历史感与政治学或哲学等其他领域的历史感进行比较和对比。
至于判断,这确实是我们寻求成功的客观衡量标准的失败。给定foobar,它以什么可衡量的方式改进了编程行为中的某些方面,其中foobar是任何设计模式,敏捷方法,TDD等等。我们有没有试过测量这个?我们到底想测量什么?正确性,程序员的生产力,代码的易读性等等?如何?软件工程确实应该着手解决这些问题,但我还没有看到。
# EYZ0。我第一次遇到这种情况是在20世纪90年代初,当时使用的是赛门铁克的一个名为Q&的程序,该程序允许您通过键入英文查询来查询数据库。直到今天,我仍然对它印象深刻。
设计模式使计算机科学更接近计算机工程。 GPS和互联网地址查找基于位置的交互。 面向服务的体系结构(SOA).
我喜欢把它叫做互联网
20年前:面向对象编程——更好地处理软件复杂性。
现在:云计算——为了更好地处理硬件复杂性。
未来:说明性的东西,但它还需要20年。
多代理系统。
你可以回到分布式人工智能的根源,我认为仍然可以安全地呆在80年代。
多智能体系统有很多组成部分,有很多研究涉及语言行为或合作,所以很难指出并说“看,这里,这是不同的,创新的和重要的!”但我还是会试试的。: -)
我认为信念-欲望-意图模型尤其值得注意。智能体在内部构建了世界的模型。他们有特定的愿望或目标,并制定计划,如何与他们所知道的世界互动,以实现这些目标,从而形成意图。
或者打个比方,电影《创》(Tron)中的角色对他们周围的世界是如何运作的有一定的了解。他们不了解整个世界,他们可能会对世界的某些部分产生误解。但他们有愿望和目标,他们提出了进一步实现目标的计划。如果你看过《创》,我相信你会有类似的感觉。
它还没有对计算机产生太大的影响。但是,你看,那些对计算机产生影响的东西似乎需要几十年的时间。参见:OOP, GC,字节码编译。
我认为这些答案的部分问题是,它们要么没有得到充分的研究,要么是在尝试一种新的实现或一些已经看到重大“改进”的技术。然而,这并不是一项重大发明。例如,任何关于函数式编程或面向对象编程的讨论都是失败的;这些想法在大多数SO参与者出生之前就已经流传了。
过去30年里处理器速度的大幅提升不容忽视。各种聪明的想法,如流水线和抢占式分支,以及处理器设计电子方面的改进,意味着今天的程序员可以更多地担心程序的设计和可维护性,而不必担心计算时钟周期。
StackOverFlow.com
鼠标- 有一些关于人际交往的帖子。对我来说,鼠标是通向人类互动的大门。如果没有它,我们仍然在打字,而不是点击拖动,即使是用手指。李< / p > < / > <李> < p > GUI - 完美地赞美了老鼠。在我的工作环境中,as400是我们一个主要应用程序的后端。是的. .有趣的东西,但它只是让我想起了比尔·盖茨在电影《硅谷海盗》中工作的屏幕,尽管那不是它的真实情况。对我来说,1和2是任何人,包括爷爷奶奶都会使用电脑的原因
Excel /电子表格- 之前有人提到过,但这是工作中提到的。它对用户非常友好,是非技术用户在对单元格执行计算时尝试简单编程概念的一个很好的入口。虽然它是在1980年之前出现的,但1980年之后的版本是电子表格技术发展的时候 因特网(当然)- 不知道没有它人们怎么写代码!
智能感知-爱它爱它爱它!!!!
现代阴影语言和现代gpu的流行。
GPU也是一个低成本的并行超级计算机,拥有CUDA和OpenCL等工具,可以快速编写高水平并行代码。感谢所有在那里压低这些越来越令人印象深刻的硬件奇迹价格的玩家。在接下来的五年里,我希望每台售出的新电脑(iphone也一样)都能基本具备运行大量并行代码的能力,就像24位彩色或32位保护模式一样。
在虚拟世界中,你由虚拟的另一个自我(又名阿凡达)代表,用于社交和角色扮演。
最常被称为mmo -大规模(ly)多人在线。一些流行的例子包括《魔兽世界》、《无尽的任务》和《第二人生》。
PS:不,他们仍然不需要像80年代极客电影中典型的那样戴着沉重的帽子。真可惜....
首先要做的是定义发明,否则就会偏离正轨。Dictionary.com对发明的第二个定义是:
美国专利法。一种新的、有用的工艺、机器、改进等,以前不存在,被认为是某种独特的直觉或天才的产物,区别于普通的机械技能或工艺。
因此,自1980年以来,计算界很少出现新发明。都发生了什么?显然,有大量的新技术和新事物出现,但它们是什么呢?
我们不再发明任何东西,我们是改善已经存在的东西。
光盘最早出现于1977年,但直到1982年才被业界接受。此时,第一家刻录cd的工厂刚刚准备就绪。最终,到1985年,CD-ROM(只读存储器)被接受为一种媒介。5年后,CD-RW问世。(来源:# EYZ0)
现在怎么办呢?好吧,考虑到我们有更大的硬盘驱动器(仍然只是在范式上的改进),我们需要更多的空间来取代VHS市场,使视频与计算机兼容。于是就有了DVD,尽管我删去了对现有CD技术的许多改进。
DVD诞生于1995年,被“发明”出来。(来源:# EYZ0)
从那时起,我们有:
显然,这个列表并不包括所有的内容。但是注意新发明,记住我上面给出的定义,在那个列表中。你不能!它们都是光盘概念的变体,都是相同硬件的变体,都是现有软件的变体。
成本。你看,对现有产品进行渐进式改进在经济上更便宜。如果我可以卖给你一张高清DVD或蓝光光盘,因为你认为它是必要的或很酷,那么我就没有必要发布我的三层或四层DVD计划。事实上,我可以让你花大价钱买到新技术,因为你是早期使用者,你需要我的“新改进”!硬件。
这就是所谓的市场营销或产品关系。
怎么了?在1980年之前,有很多软件创新在进行,但从那以后,它主要只是对已经存在的东西进行改进或重新发明轮子。看看任何操作系统或办公软件包就知道了。
据我所知,在过去的29年里,几乎没有新的发明。我可以做很长时间的蜡,可以横跨许多行业,但我为什么要费神呢?一旦你开始思考,开始比较一项“发明”;对于之前类似的产品…你会发现它们太相似了,一点都不好笑。即使是内燃机自1906年以来一直没有在该领域的新发明;这个“轮子”的许多改进和变化;是的,但没有新发明。
甚至连美国在伊拉克部署的新武器——利用微波让人感到震惊,就像触摸灯泡一样——都不是新武器。同样的想法被用于安全系统,然后被分类并退出市场,用超声波让入侵者感到身体不适。这是一种定向形式的武器,具有不同的波长和应用,不是一项新发明。
用于人机交互的触摸屏和体感界面。
例如:
唯一的问题是…这些技术真的是80后吗?
通过赋予存储介质与处理单元相同的物理特性、功率要求、大小和稳定性,我们消除了在设计处理器位置时的限制因素。这扩大了我们如何以及在何处为如此多的智能设备(以及以前根本不被认为是智能的东西)赋予“智能”的可能性,以至于我们仍然被这股浪潮所吸引。Mp3播放器只是其中的一小部分。
当然,1980年以前是施乐PARC的辉煌时期。在图形用户界面、鼠标、激光打印机、互联网和个人电脑刚刚诞生的时候。(鉴于我太年轻了,不可能活在那个年代,而你几乎在努力发明所有这些东西,关于1980年的事情,我不能告诉你任何你不知道的事情,所以我们继续吧。)
但事实上,1980年之前的是在真正具有颠覆性的新技术方面要活跃得多。任何新领域都是如此——在过去的100年里,你在铁路上看到了多少改变游戏规则的技术进步?你在灯泡里见过多少?在印刷机上?一旦某件东西在正确的圈子里引发了炒作,就会有一个爆炸性的发明期,随后是一个漫长的成熟期。在那之后,你不会再看到同样的彻底的变化,除非基本情况发生了变化。
幸运的是,这可能会发生在一些领域,而且已经发生在其他一些领域:
移动性——智能手机将计算带到一个真正便携的平台,这个平台将很快包括基于位置的服务和基于邻近的自组织网络。这是一种全新的模式,可能会像GUI一样改变游戏规则
WWW (HTTP, HTML和DNS)已经被提到过了,而且显然是该列表的一个补充,因为它使全球范围内的全球、廉价的、主流的丰富通信成为可能——这一切都要归功于一个计算平台
在界面方面,触控、多点触控(想到了Jeff Han)和Wiimote都需要提一下。目前,它们基本上是奇珍异宝,但早期的gui也是如此。
面向对象设计模式——高级解决方案作为解决困难问题的最佳实践。根据你对“计算”的定义,它可能属于也可能不属于这个列表,但如果你认为OOP是1980年之前的一个重大进步(我当然是这么认为的),我认为设计模式和GoF也值得一提
谷歌的PageRank和MapReduce算法——我很高兴地注意到我不是第一个提到它们的人,说真的——如果没有它们的原则,世界将会是什么样子?我清楚地记得在他们之前的世界是什么样子,我只想说谷歌真的是我的朋友。
非易失性存储器——它在硬件方面,但它将在未来的计算中发挥重要作用——例如,使启动时间成为过去,并使我们能够以全新的方式使用计算机
语义(自然语言)搜索/分析/分类/翻译…我们还没有走到那一步,但像Powerset这样的公司给人的印象是我们已经走到了边缘。
在这一点上,智能HTMs也应该在这个列表中。我是杰夫·霍金斯的模型和方法的另一个信徒,如果它成功了,它将意味着对计算机能做什么、对人类意味着什么以及世界将走向何方的彻底重新定义。以这种方式(综合地)创造一种真正的智能将比人类以前所完成的任何事情都要大。
GNU + Linux
3D打印/快速原型(以及及时的制造)
P2P(这也导致了VoIP等)
电子墨水,一旦技术成熟一点
RFID可能属于这个名单,但这一点还没有定论
量子计算是列表中最明显的元素,只是我们仍然无法获得足够的量子比特来进行研究。然而,我在这一领域的朋友告诉我,就在我们说话的时候,这一领域正在取得令人难以置信的进展,所以我对此屏住呼吸。
最后,我想提一下我个人最喜欢的:分布式智能,或者它的另一个名字:人工人工智能。这个想法是将大量的人连接在一个网络中,并允许他们通过某种形式的问答界面访问其他人的联合思想。最近,雅虎问答、Askville、亚马逊土耳其机器人等已经做过很多次了,但在我看来,这些都没有达到目标……就像Tim Berners-Lee的HTML之前的许多分布式超文本的实现,或者谷歌之前的许多网络爬虫。严肃地说,有人需要在“蜂群思维”中建立一个搜索界面来击败其他所有人。恕我直言,这只是时间问题。
光学计算。似乎它应该存在更长的时间,但我目前找不到任何早于1982年的参考资料(相关技术,光学晶体管,直到1986年才出现)。
# EYZ0。它完全颠覆了以前看似显而易见的不可改变的规则——一个人通过互联网下载一个文件所需的时间与下载该文件的人数成正比。它还解决了以前的点对点解决方案的缺陷,特别是围绕着“吸血”,以一种有机的解决方案本身的方式。
BitTorrent优雅地将通常的缺点——许多用户试图同时下载一个文件——转变为优点,将文件在地理位置上分发,这是下载过程的自然组成部分。它优化两个对等点之间带宽使用的策略不鼓励作为副作用的“吸血”——强制节流符合所有参与者的最佳利益。
这是一种一旦被别人发明出来,即使不明显,也似乎很简单的想法。
有目的的游戏 -像路易斯·冯·安和他的团队正在开发的集体智能工具在1980年之前可能是一个梦想,但是没有一个广泛部署的网络,可以容纳数百万人,并且需要(例如reCAPTCHA)来实际实现它。
IP组播(1991)和Van Jacobsen的传播网络(2006)是自1989年以来最大的发明。
如果我们作为一个小组认真回答这个问题 不幸的是,我相信我们需要的不仅仅是一串随机的善意的帖子! 我知道,这听起来很无聊,但经常把事情做完却很无聊 < p > # EYZ0 < br > 也许我们应该定义一些类别来区分每个类别,因为视频会议在某种程度上不太适合面向对象编程 按类别查看想法可以更容易地生成它们,而不会产生冗余。 如果不让量子计算远离飞行汽车,隐形传态就很容易偏离轨道。
# EYZ0 < br > 这将解决1980年之前/之后的问题,并限制关于每个想法的辩论。 挖掘最早的参考,第一个已知的实现等将是有趣的 此外,这将让像我这样在1980年只有2岁的人有更好的想法 1980年的通用编程知识(当时没有什么比这更好的了)
# EYZ0 < br > 好吧,有些想法在1850年还是科幻小说,在1970年有了早期发展,在1990年有了重大的改进突破 有些想法刚刚开始传播。
也许wiki的事情是个好主意 我认为如果稍微组织一下,这真的可以得到一些东西 我没有检查,但可能这整件事在网上已经存在了(我通常发现,如果你想某事,有人已经做了)
你怎么看?
干杯!
软件专利
第一台真正的多媒体个人电脑,Amiga:第一台32位抢先处理多任务的个人电脑,第一台硬件图形加速,第一台多声道声音,在许多方面,它比现在流行的多核、多兆赫的Windows盒子机更有用、更强大。
怪诞的开发风格(如Eric S Raymond在http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/中所描述的)。Raymond认为1991年Linus Tourvald发布的Linux内核是Bizarre开发风格的第一次使用。
“美国人没有过去,也没有未来,他们生活在一个延伸的现在。”这描述了计算的状态。我们生活在80年代一直延续到21世纪。唯一改变的是尺寸。Alan Kay
成功地将不同的编程范例集成到单一的编程环境中。
这方面的范例(对我来说)是莫扎特/奥兹编程系统,它将函数式、面向对象、逻辑、并发和分布式编程机制集成为一个连贯的整体。不过还有其他的例子。
忆阻器。
虽然这个想法并不比1980年更新,但我相信直到2008年才有了一个可行的模型。如果它能超越R&D,它将是自晶体管以来计算机硬件领域最重大的进步;至少,消除了次要记忆。
为了开始思考这个问题,我需要一个关于“创新”意味着什么的模型。
我所见过的最好的模式是技术采用生命周期。你可以得到这个维基百科的文章的概述。
利用这个模型,我开始问自己……软件本身处于生命周期的哪个阶段?我们可以把“软件”看作一种不同于机械的技术,这种技术可以一直追溯到巴贝奇(Babbage),或者更准确地说,追溯到Ada Lovelace夫人。
但至少在1951年之前,它仍然处于非常早期的开拓阶段。这是编程计算机“商业化”的一年,即销售计算机产品的模型,并制造大量该模型的单元。我在想Univac卖给人口普查局的那台机器。
从1951年到1985年,软件创新层出不穷。它们主要与将计算的范围扩展到一个更广阔的领域有关。与此同时,大规模营销和大规模生产不断降低入门成本,直到苹果和IBM-PC使可编程设备成为一种常见的设备。
在1980年到1985年之间,我认为软件从创新者的领域过渡到“早期大多数”领域。抱歉,伙计们,这让你们所有参与MS-DOS, Mac, Windows, c++和Java早期的大多数人而不是创新者。这并不妨碍你在自己的领域和自己的项目中进行重大创新。这只是意味着这个领域本身已经从最早的阶段发展起来了。
虽然互联网的前身早在20世纪70年代就出现了,但直到阿尔·戈尔发明了互联网(抱歉),人们才开始上网。在那个阶段,软件从早期的主流变成了晚期的主流。正如钟形曲线的顶部所显示的那样,这种变化是微妙的。并非所有商店都同时从早期多数转变为晚期多数。
我认为软件还没有完全进入“落后”阶段,但我认为真正的创新者正在解决今天在不同战线上产生进步的问题。
我能想到的两个方面是生物工程和信息设备。这两个领域都需要软件,但主要的推力不是软件创新。它正在把软件应用到未知领域。可能还有很多我不知道的战线。
DNS, 1983年,以及依赖的进步,如通过MX记录而不是刘海路径来解析电子邮件主机。# EYZ0
Zeroconf工作在DNS之上,2000年。我把我的打印机插入网络,我的笔记本电脑看到了它。我在网络上启动了一个web服务器,我的浏览器看到了它。(假设他们广播了他们的可用性。)
NTP(1985)基于Marzullo算法(1984)。精确的时间在紧张的网络。
鼠标滚轮,1995年。使用没有它的鼠标感觉太原始了。不,这不是恩格尔巴特团队想过却忘了提的东西。至少当我问当时团队里的人时没有。(那是1998年左右在恩格尔巴特的一次活动上。我要对付第一批老鼠中的一只。)
1987年的Unicode,以及它在不同类型的编码、规范化、双向文本等方面的相关进展。
是的,人们每天使用这5种方法是很常见的。
这些真的是“新想法”吗?毕竟,有了鼠标,有了字符编码,有了网络计时。告诉我如何区分“新”和“真正的新”,我会回答你的问题。我的直觉告诉我这些足够新了。
在较小的领域,很容易有更近期的进展。例如,在生物信息学领域,Smith-Waterman(1981)和BLAST(1990)有效地使该领域成为可能。但这听起来像是你在要求在整个计算领域中非常广泛的想法,而且容易摘到的水果会被先摘。在一个新的领域总是如此。
我认为我们看待这个问题的方式是错误的,得出的结论也是错误的。如果我做对了,循环就会变成:
理念->首次实施->少数人采用->临界质量->商品产品
从最初的想法到商品,你通常会经历几个世纪,假设这个想法能走到那个阶段。达·芬奇可能在1493年就画出了某种直升机,但他花了大约400年的时间才制造出一架能够自己飞离地面的实际机器。
从1580年威廉·伯恩对潜艇的第一次描述到1800年的第一次实施,你有220年的时间,而目前的潜艇仍处于起步阶段:我们几乎对水下旅行一无所知(地球上三分之二的地方都在海底,想想潜在的房地产;)
而且不可能没有更早,更早的想法,只是我们从未听说过。根据一些传说,亚历山大大帝在公元前332年使用了某种潜水钟(这是潜艇的基本概念:一种在海底运送人员和空气供应的装置)。算上这一点,我们从想法(甚至只有一个基本的原型)到生产产品需要2000年的时间。
我想说的是,在1980年之前,那些甚至都不是想法的实现,更不用说产品了……我敢打赌,“快速排序”算法是由中国古代某个无名档案管理员使用的。那又怎样?
当然,40年前就有了联网的计算机,但那无法与今天的互联网相比。基本的理念/技术是存在的,但不管怎样你都不能在线玩《魔兽》游戏。
从历史上看,我们从来没有能够如此快速地“找到它们”。我认为这个周期正变得越来越快,但计算技术仍然非常年轻。
目前,我正试图弄清楚如何制作全息图(星球大战那种,没有任何物理支持)。我想我知道该怎么做了。我甚至还没有收集工具、材料和资金,即使我在某种程度上取得了成功,实际的想法也已经有几十年的历史了,至少相关的实现/技术已经被使用了很长时间。
一旦你开始列出实际的产品,你就可以相当肯定概念和最初的实现在一段时间前就已经存在了。没关系。
你可能会以某种理由争辩说,从来没有什么是新的,或者一切都是新的,总是如此。这就是哲学,两种观点都有道理。
从实践的观点来看,真理介于两者之间。真理不是二进制概念,布尔逻辑是该死的。
中国人也许早在很久以前就发明了印刷机,但大多数人能够在家以合理的价格打印出像样的彩色照片也不过10年的时间。
发明无处不在,这取决于你的标准和参照系。
十大软件工程理念/ 图片
我们需要的是重组,而不是再造。
我们现在拥有所有我们需要的硬件和软件组件,在未来几年里做一些令人惊叹的事情。
我相信科学中有一种疾病,参与者总是试图发明一些新的东西来区别于别人。这与做一些编目或教授旧作品的混乱工作形成了鲜明对比。
建造“新”东西的人通常被认为比重用现有的和几乎古老的作品的人有更高的血统。(对于一个20岁的年轻人来说,Lisp的开发时间是他们生命的两倍还多。1958)
好的旧想法需要复活并广泛传播,我们需要停止试图建立企业或程序员运动,有效地践踏旧的作品和系统,在权力游戏中成为下一个新事物——事实上,大多数“新的闪亮”事物只是旧想法复活的方面。
这是一个消极的结果,作为一个“基础创新”很奇怪,但我认为适用,因为它开辟了新的研究领域,关闭了无用的领域。
分配共识的不可能性:PODC影响力论文奖:2001年
我们假设我们的主值 不可能的结果是封闭 没有成效的研究方向 试着找到容错能力 共识算法。但对我们来说 令人惊讶的是,它打开了全新的大门 研究方向。一直以来 分析到底是什么假设 关于分布式系统模型 不可能证明所需要的。 许多相关的分布式问题 哪些证明同样适用 发现,一起看似相似 这些问题确实有解决方案。 最后是一长串的研究 在其中发展了原语 根据他们的能力分类 实现无等待容错 共识。< / p >
电视管盒
我不知道是否有人已经回答了,“机器学习”作为一个重要的新发展,正在迅速发展。智能垃圾邮件过滤、股市预测、机器人等智能机器……
也许,机器智能会是下一个大事件。
也许是从客户端服务器到点对点的转变。我讨厌整个云/SAS的原因之一是,它是一种客户端/服务器的回归。
我口袋里有VAX你却让我假装是VT-100?
传感器网络:非常微小的(纳米级)计算机形成自组织p2p网络并传输“传感”信息。
3D打印:物理对象的《星际迷航》复制器(还没有Early Grey茶)。
DNA计算:针对某些类型问题的大规模并行计算。
作为Debian用户,我会投票给包管理。它让OSX和Windows 7看起来像是原始的业余玩物。
但是由于前面已经提到了包管理,我将投票给x。网络透明窗口服务器使许多应用程序成为可能。能够无缝地在同一屏幕上并行地调用在不同计算机上运行的程序真是太棒了。
这在80年代后期更令人印象深刻。
让我们看看,连接机器(大规模并行)就是其中之一。
不管怎样,这整个问题似乎是艾伦·凯的自大狂,因为他发明了一切。
量子计算的数学在1980年之前就已经出现了,但硬件还没有出现,而且在未来许多年里可能在物理和经济上都不可行。
在社区支持下,翻译软件可以进行手动更正和建议,随后由人工智能机器人形成模式,最终区分并正确预测不同翻译和上下文中的歧义。
虽然谷歌翻译可能不是野兽,但它是等待开发的系统的母亲,或者可能是祖母。
如果你仔细想想,文本语言实际上是大脑的输入,眼睛看到文本并将图像发送到大脑,然后大脑将其转化为理解。
虽然它真正的交流(尤其是人与人之间的交流)是一个高级的话题,但基本的是输入(带上下文)->翻译->理解。
为什么我们仍然没有真正的好办法给远方的同事或不会说我们语言的伙伴发送电子邮件?这显然是第一阶段。
一旦完成,我们就可以进行实时电话翻译之类的工作了。
相反,月复一月,我们最大的智力资产被用于其他更重要的项目,比如太空研究、流星探测,或者试图证明《圣经》是错的(打哈欠)。
我们把更多的时间花在基本的实际交流上怎么样?
低成本/家用电脑。直到20世纪80年代初,人们(至少在布莱蒂)才真正听说过这件事。如果没有家用计算机,有多少人会把计算机作为一种职业?或者甚至作为一种爱好1?
就我自己而言,如果我的家人没有在1982/1983年得到克莱夫·辛利利谦卑的橡皮钥匙ZX频谱,我现在可能不会在这里。这不仅仅是演讲:C64, Vic-20, 橡子电子, BBC / B /大师, Oric-1, Dragon-32等等都推动了家用电脑市场,并使每个8岁的男孩和女孩都有机会成为程序员。
如果这不是计算和编程方面的革命,我就不知道什么是……!
@ 1好奇的是:在这个网站上,业余爱好者和专业程序员的区别是什么?我知道这些数据没有经过整理,但可能会很有趣。
还是在“网络”部分,我要加上WIFI。它是在90年代发明的(但我同意它不完全是“计算”,而更多地与硬件有关)。
在更严格的“算法”部分,我想到了turbocodes(1993年);有人说它只是接近了香农信号理论所定义的极限,但这种论点难道不会否定所有其他对“一切都已经在洛夫莱斯、巴贝奇和图灵的作品中萌芽”的回答吗?
在密码学领域,我想加上P.Zimmermann(1991年)的PGP程序,它为公民带来了一个相当健壮的(当时)免费加密程序,并有助于动摇政府对加密的立场。事实上,我认为这是密码学“自由化”的因素之一,这是发展电子商务的前提。
毫无疑问,在过去的30年里,计算最重要的部分是现在每个人都是它的一部分。家用电脑大约从1977年才开始普及,直到80年代才得到广泛应用。现在,幼儿园、老年中心和你的每个邻居都有一台。
运动传感器在游戏中的兴起,使传统的游戏操纵杆消失,让用户非常接近游戏本身。这与我们不断变化的城市景观和生活方式相辅相成,因为我们的身体活动有限。游戏的发展肯定会让人在做喜欢的事情时至少进行一些体育活动。这绝对比在健身房做同样单调的练习要好。
# EYZ0。然而,还没有真正流行起来,但我认为它是巨大的,从能够在地面上画虚拟箭头来帮助你找到目的地,到用有用的信息或美学幻想装饰你周围的一切。
想象一下,你的手机在房间的另一头响了起来,你看着它,上面会跳出一个信息泡泡,告诉你是谁打来的。那该有多酷?AR将给我们思考技术和与技术互动的方式带来巨大的变化。
鬼屋可能也会变得更加可怕。
我还想为脑-机接口提到脑电描记法,但显然这是在20世纪70年代首次发明的。
u盘/ u盘
USB key是软盘的有效替代品,软盘在简单传输方面仍然优于CD或DVD。
互联网。
就是这样。
iPad(发布于2010年4月):这样的概念无疑是绝对的革命性!
alt text http://www.ubergizmo.com/photos/2010/1/apple-ipad//apple-ipad-05.JPG
...
等待?什么! ?你说的Dynabook ?
艾伦·凯早在1968年就提出了这个想法,在1972年的论文中有详细描述??
NOOOooo # EYZ0
哦……不要紧。
我认为计算中的大多数概念都在不断改进,但也有一些新的发展,特别是在分布式计算方面。
大多数工作都经过了改进,虽然许多现代系统比60年代或更早时候首次描述的原始概念好不了多少,但有些系统好了几个数量级。
我不得不说,自1980年以来,计算机领域最大的发明是摩尔定律。20世纪60年代和70年代有很多非常酷、创新的东西被创造出来,但它们都是昂贵得离谱的一次性项目。这些项目大多消失在时间的迷雾中。
今天,这个很酷的创新项目获得了几轮融资,并在6个月左右的时间里出现在每个人的桌面或网络浏览器上。
如果这都不算创新,那什么才是?
我们没有新想法的原因是:专利(这来自60年代末…),公司和教育。
还没有在主流计算中改变的一件事是分层文件系统。在我看来,这是一种耻辱,因为在20世纪80年代末和90年代,一些工作已经完成,以设计更适合现代面向对象操作系统的新型文件系统——那些从头开始就是面向对象的操作系统。
OO操作系统倾向于具有可扩展且灵活的平面对象存储。我认为厄洛斯项目就是基于这一理念;笔尖操作系统是20世纪90年代的面向对象操作系统;Amazon S3当然是一个当代的平面物品商店。
在面向对象的平面文件系统中,至少有两个想法是我特别喜欢的:
整个磁盘实际上是交换空间。对象存在于内存中,当不需要时将它们换出,当需要时将它们带回来。不需要与虚拟内存分离的分层文件系统。从某种意义上说,程序“总是在运行”。
平面文件/对象存储允许对内容进行索引和搜索,而不是强迫用户(提前)决定内容相对于其他内容的位置以及它的名称应该是什么。可以在平面存储的基础上构建分层系统,但这不是必需的。
正如Alan Cooper在他的书对脸中所述,分层文件系统是一个拼凑物,是为20世纪60年代和70年代内存和磁盘存储有限的计算机设计的。可悲的是,Windows和Unix的流行保证了分层文件系统的主导地位。
我认为在过去的50年里,一个非常重要的计算机发明是谷歌。如果没有一个好的搜索工具,互联网就毫无意义。搜索引擎的出现彻底改变了互联网,使它能够被小人物货币化。
几乎是现代3D计算机图形学中所有重要的东西。射线追踪(在计算图形意义上)是从Whitted 1980年的论文开始的。行军立方体('87)是从3D数据中提取等值面的标准方法。
USB
# EYZ0(1988)。
可以说,这只是多年前错误修正代码的应用,但可以说,计算机科学中的一切都可以简化为基本的数学,这已经存在了几千年。
个人广播通信
Facebook、Twitter、Buzz、柴酷……实现是不同的,侧重于不同的方面-管理受众,简洁性,讨论。特定的服务来来去去,但新的通信概念仍然存在。博客当然是这一切的开端,但新的服务使交流变得具有社会性,这是一个本质的区别。
虽然不太确定这是否完全属于计算的主题,但这是非常重要的,并且只有通过计算和网络才能实现。
开槌球 http://www.opencroquet.org - Squeak, Smalltalk-based 3D环境,允许多个用户从内部交互和编程环境。它有自己的对象复制协议,用于在互联网上高效和可扩展地共享环境。**这很难描述,因为没有任何东西能像它一样……
1)我提出这个建议是因为当我试图向别人解释它是什么时,我发现他们希望我把它与其他东西进行比较……我还没有发现任何类似的东西,尽管有许多来自其他系统的元素(例如Smalltalk, Open GL, etoys,虚拟世界,远程协作,面向对象的复制架构),整体似乎远远超过部分…
2)不像这里提到的许多技术,它还没有成为一个广泛开发的商业利基市场……
这两点都是这项技术处于早期阶段的迹象。
我怀疑,当艾伦·凯开始研究这个问题时,他可能首先就考虑过这个问题的主题。
http://www.onlisareinsradar.com/archives/001281.php
增强现实
真实世界的视图与虚拟元素以某种方式结合在一起。
“虚拟现实”一词出现于1989年,比“增强现实”一词出现早了几年。
一些早期的使能技术是在1980年之前发明的,但这个概念本身可以追溯到90年代初(至少维基百科是这么说的)。
http://en.wikipedia.org/wiki/Augmented_reality#History
我想说的是,CDMA是1980年以后产生的一个重要而强大的新概念。
也许科幻作家论坛能给你更有趣的答案?: -)
我怀疑这里有一点谬误,你把技术和科学的历史看作是一个稳步前进的过程,是一个线性现象。我怀疑这实际上是一个时断时续、背景、经济、意外发现和普通随机性的过程。
你应该感到幸运,因为你处于历史浪潮的中心,大多数人都不会有这样的经历。
X.500和x.500系列标准(大约1988年)。虽然x.500标准的灵感来自几十年前的电信标准,但它们的意义重大,因为它们为LDAP/AD的广泛使用和我们目前对x.509证书的使用铺平了道路。
一些回答提到了量子计算机,好像它们还在遥远的未来,但我不敢苟同。
在20世纪70年代和80年代,人们模糊地提到了量子计算机的可能性(见维基百科时间轴),然而第一台“工作”的3量子比特核磁共振量子计算机是在1998年建成的。该领域仍处于起步阶段,几乎所有的进展都还停留在理论上,局限于学术界,但在2007年,一家名为D-Wave Systems的公司提出了一个16量子比特的工作原型,同年晚些时候又提出了28量子比特绝热量子计算机。他们的努力值得注意,因为他们声称他们的技术在商业上是可行的和可扩展的。截至2010年,他们有7个平台,目前他们的芯片有128个量子比特。他们似乎与谷歌合作,寻找有趣的问题来测试他们的硬件。
我推荐D-Wave上的这段24分钟的视频和维基百科的文章来进行快速概述,还有更多由D-Wave创始人和首席财务官撰写的这个博客资源。
比特币解决双重支出问题的方案。它被用来创造去中心化的电子货币。一个名为Namecoin的变体使用相同的技术来构建一个分散的命名系统(类似于DNS)。
过去曾有人试图创建加密货币(这个想法当然并不新鲜),但比特币似乎是第一个成功的实现。其独特的P2P算法在不依赖任何可信权威的情况下解决了双重花费问题。
Paxos协议。很难描述它在互联网时代的价值。
# eyz0是1980年后发明的重大突破。
快速聚类算法(数据点数量为O(n log n)),如DBScan(自1996年),似乎都起源于1980年以后。
这些都是数据挖掘技术进步浪潮的一部分。
相比之下,在寻线方面缺乏进展,在寻线方面,像Hough这样拙劣的缩放技术似乎仍然代表着最先进的技术水平。