自1980年以来计算机领域的重大新发明


561

这个问题源于对过去50年左右的各种计算进展的评论

其他一些参与者要求我将其作为整个论坛的一个问题提出。

这里的基本思想不是抨击事物的当前状态,而是试图了解有关提出基本的新思想和新原理的进展的一些信息。

我声称在大多数计算领域中我们确实需要新的想法,并且我想知道最近做过的任何重要而强大的想法。如果我们找不到它们,那么我们应该问“为什么?” 和“我们应该怎么做?”


77
Jeff Atwood确认用户“ Alan Kay”是“ Alan Kay”。你知道,那个在复印机公司工作的人... ;-) en.wikipedia.org/wiki/Alan_Kay
splattne

1
我观看了以下视频:video.google.com/videoplay?docid=-533537336174204822-有关Dynabook,儿童和计算机的发展的历史视频(1979年),艾伦·凯(Alan Kay)展示了更多内容。令人震惊的是1970年之前完成的工作-特别是1962
。– splattne

2
根据您自己的定义,答案可能是从“无”到对每种可能技术的枚举。而所有这些答案都是正确的还是不正确的,取决于读者/观察者使用的“新想法”的定义...
Emile Vrijdags 09年

3
看完这里所有的答案后:悲伤!在过去的30年中,我们什么都没做?
杰里米·鲍威尔,

2
@Will:奇怪的是,我相信我最近了解到了这个问题的一个有趣答案:快速聚类算法。DBSCAN是其中很多技术(数据集中点数为O(n log n))的最新技术,它的历史可以追溯到1996年。可惜,问题已解决,我不会花时间阅读找出答案是否有人击败了我。
dmckee ---前主持人小猫,

Answers:


311

互联网本身早于1980年,但蒂姆·伯纳斯·李(Tim Berners-Lee)提出并实施的万维网(“通过简单机制的分布式超文本”)始于1989/90年。

尽管超文本的想法早已存在(Nelson的Xanadu曾尝试实现分布式方案),但是WWW是实现分布式超文本系统的一种新方法。Berners-Lee以强大且易于实现的方式将简单的客户端-服务器协议,标记语言和寻址方案相结合。

我认为大多数创新都是通过以原始方式重新组合现有作品而产生的。WWW的每个部分以前都以某种形式存在,但是这种组合只有在事后才很明显。

而且我确定您现在正在使用它。


26
+1是最显而易见但也最容易忘记的,因为我们都认为这是理所当然的:)
PolyThinker,2009年

20
我现在不使用万维网。我正在使用通过Google达成的一系列称为互联网的管道。
罗伯特S.09年

13
@bruceatk:超文本是文本的实现。文字是在公元前3500年发明的。
波特曼2009年

1
@bruceatk:我相信他直到1989
Portman,

2
@splattne:并且思考已经成为搜索
u0b34a0f6ae 2010年

235

自由软件基金会(成立于1985年)

即使您不是他们的哲学的全心全意的支持者,他们所倡导的自由软件,开放源代码的思想也对软件行业和整个内容(例如Wikipedia)产生了惊人的影响。


9
同意自由软件基金会的影响力非常大,但其倡导者们倾向于拥护“集体思维”。因此,许多FSF不能接受Apple OSX和MS Windows对于普通用户而言比任何开源OS都要好得多。没有人愿意承认这一点。
罗素

32
FSF的全部目的是推广可以由所有人自由使用,修改和重新分发的软件。在任何定义上,OSX和Windows都不“更好”。
亚当·拉瑟克

5
@RussellH:您混淆了“开源”和“自由(如自由)软件”。实际上,您的评论恰好说明了区别的重要性。但是无论如何,Firefox比Internet Explorer和Safari更好,并且对用户来说比Windows,MacOS和Linux更重要。
niXar,2009年

8
Janie,您不必成为支持者即可看到他们所遵循的原则对整个行业产生了重大影响。我对FSF是否是共产主义的,或者您是否应该接受一些共产主义原则的讨论毫无兴趣。
2009年

9
合法发明,而非计算发明。
查尔斯·斯图尔特

150

我认为可以公平地说,在1980年,如果您正在使用计算机,则要么为此而获得报酬,要么是一个极客……所以,发生了什么变化?

  • 打印机和消费者级桌面出版。意味着您不需要印刷机即可生产大批量,高质量的印刷材料。那是很大的 -当然,如今,我们完全将其视为理所当然,而且大多数情况下,我们甚至都不必理会打印部分,因为每个人都在线。

  • 颜色。说真的 彩色屏幕极大地改变了非极客对游戏和应用程序的认知。突然之间,游戏似乎不像是艰苦的工作,而更像是看电视,这为世嘉,任天堂,雅达利等人打开了大门,将消费者的游戏带入了家庭。

  • 媒体压缩(MP3和视频文件)。还有很多东西-例如TiVO和iPod-我们不再真正将其视为计算机,因为它们无处不在且用户友好。但是他们是。

我认为,这里的共同点是曾经无法实现的任务(制作打印文档;准确地复制彩色图像;实时在世界各地发送消息;分发音频和视频材料),然后由于设备和物流而变得昂贵参与,并且现在处于消费者级别。那么-大型企业现在正在做些什么,过去曾经是不可能的,但是如果我们能找到如何以小而便宜的方式做的话,这可能会很酷?

任何仍涉及物理运输的事物都值得一看。视频会议还没有取代真正的会议(但是),但是如果使用了正确的技术,它仍然可以。完全感官的沉浸式环境可以消除一些休闲旅行–家庭影院是一个小例子;另一个是位于Soho办公楼中的“虚拟高尔夫球场”,您可以在模拟高尔夫球场上打18洞真正的高尔夫球。

但是对我而言,下一个真正重要的事情是制造。做东西。勺子,吉他和椅子,衣服,汽车,瓷砖和其他东西。仍然依赖于制造和分销基础架构的事物。我不必再去商店买电影或专辑了-不用再去商店买衣服和厨具了多长时间?

当然,OLED显示器,GPS和移动宽带以及IoC容器,脚本和“云”正在发生有趣的发展-但它们仍然只是将图片显示在屏幕上的新型方式。我可以打印自己的照片并编写自己的网页,但是我希望能够制造一个完全适合桌子旁边那个角落的亚麻篮,以及一个将吉他FX单元粘到桌子上的安装支架,以及其他东西。将手机夹在自行车车把上。

与编程无关吗?不...但是在1980年,声音制作都没有。或视频分发。或向赞比亚的亲戚发送消息。大胆思考,人们... :)


1
我认为媒体压缩不是一个新概念(它可以回溯到Shannon在50年代的工作),它随着改进的硬件(足够快,能够播放媒体)而变得可行。
Kornel

我必须同意制造是我认为可能会成为下一件大事的事情。当对象“打印机”成为主流(可以复制耐用的简单物理项目的打印机)时,我认为我们会在那里。
安迪·韦伯

扫描现有项目也很不错,这样就可以进行替换。在很多情况下,我不得不购买奇怪的螺丝或零件来替换在房子或自行车上摔坏的螺丝或零件。使用这样的系统,我可以扫描旧零件,用软件对其进行修复,然后创建替换零件。
安迪·韦伯

44
桌面出版和高质量打印是70年代在Xerox PARC发明的,当时的部分Altos也具有高质量的彩色屏幕。互联网早于1980年。媒体压缩早于1980年。问题在于自1980
艾伦·凯

3
先生,您是一位有远见的人。不要让男人让你失望。“印刷”打印机是下一个重大革命。
Waylon Flinn

137

程序包管理和分布式修订控制。

这些软件开发和分发方式的模式是最近才出现的,并且仍在开始产生影响。

伊恩·默多克(Ian Murdock)称软件包管理为 “ Linux带给业界的最大的进步”。好吧,他会的,但是他有一点。自1980年以来,软件的安装方式已经发生了重大变化,但是大多数计算机用户仍然没有经历过这种变化。

Joel和Jeff 在Podcast#36中一直在谈论使用Eric Sink进行版本控制(或版本控制或源代码控制)。似乎大多数开发人员尚未赶上集中式系统,DVCS被普遍认为是神秘且不必要的。

来自Podcast 36笔录

0:06:37

Atwood: ...如果您假设-这是一个很大的假设-大多数开发人员都已经有点掌握了基本的源代码控制-坦率地说,我发现这不是真的...

Spolsky: 不。大多数人,即使他们有,也是他们了解的签入,签出,但分支和合并却使他们困惑。


1
如果有人认为这是一项重大的新发明,那就是git。
哈森

8
Hasen J:git是很棒的DCMS,但是在git之前,还有其他一些实现方式git是一种重要的新实现。
Arafangion 2009年

+1用于软件包管理。不过主要的事情之一是Linux的/ BSD有缓缴大家偷别人的头,但其余的都到那里(只是真的慢)。
new123456 2011年

甚至基于服务器的修订控制系统在很大程度上都是1980年以后的发展,并且从仅具有当前状态到具有该状态的历史……这是一个巨大而微妙的变化。
Donal Fellows,

分布式修订控制名称错误。没人关心您的系统是否集中化。重要的是您是否跟踪变更集或版本。但是大多数时候,它们聚集在一起(GIT,Mercurial),这使所有人感到困惑。乔尔With distributed version control, the distributed part is actually not the most interesting part.
·斯波斯基(

123

BitTorrent的。这完全颠覆了以前看来似乎是一成不变的规则-一个人通过Internet下载文件所花费的时间与下载该文件的人数成正比。它还以一种与解决方案本身有机的方式解决了以前的点对点解决方案的缺陷,特别是围绕“窃取”的缺陷。

BitTorrent巧妙地将通常是不利的一面(许多用户试图同时下载一个文件)变成了一个优点,即在下载过程中自然地将文件地理分布。其优化两个对等方之间的带宽使用的策略不鼓励窃取作为副作用-强制执行限制符合所有参与者的最大利益。

这是一旦被别人发明的想法之一,即使不是很明显也很简单。


的确,尽管BitTorrent可能有所不同/有所改进,但重要的新发明实际上应该是P2P分发,而不是像BitTorrent这样的任何特定实现。
Ilari Kajaste 09年

10
我不同意。P2P并不是全新的,它比USENET还要旧。用于台式机(Kazaa等)的pre-bitTorrent“ P2P”应用程序只是重新包装了客户端-服务器概念,添加了服务器的动态中央目录。每个“对等”客户端都连接到其他单个“对等”服务器以传输文件。单个节点同时完成这两个事实是陈旧的(至少对于Windows之前的系统而言)。bitTorrent协议(AFAIK)是一种全新的文件传输方式,它利用多个系统以一种真正的分布式方式在彼此之间传输文件。
基夫

7
@JL:从理论上讲,直接下载速度更快,但实际上却没有。拥有一台播种机和一台浸出机,应该没有任何区别。一旦您添加了另一个leacher,该leacher就可以开始从连接速度更快的任何人那里获取碎片(即使连接速度更快的客户端没有完整的文件)。对于直接下载,要利用更快的连接速度,您首先必须等待客户端完成下载,然后才能开始。
Peter Di Cecco'3

1
我认为更好的问题是,通过托管一个种子文件并将种子植入直接下载的盒子中,您可以节省多少带宽。现在只有暴雪这样的公司知道,而我还没有看到他们的电话号码。如果没有“超级种子”,那么种子将依靠用户进行种子播种,而种子播种仅适用于异步连接,并且人们不希望将计算机置于上游并饱和。

6
@JL:种子比直接下载慢吗?我的“实践”经验与众不同。尝试同时下载两种方式的Eclipse。
Dean J

120

Damas-Milner类型推断(通常称为Hindley-Milner类型推断)于1983年发布,自那时以来一直是每个复杂静态类型系统的基础。这是编程语言中的一个全新想法(基于1970年代发布的想法被接受,但直到1980年之后才变得实用)。在重要性方面,我提到了自我以及实现自我的技术。就影响力而言,它是无与伦比的。(其余的OO世界仍然在Smalltalk或Simula上进行变化。)

类型推断的变化仍在发挥作用。我最能挑出的变化是Wadler和Blott的用于解决重载的类型类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局仍在撰写中。


3
+1静态类型系统是软件开发中的巨大进步。我完全同意这个答案。
杰里米·鲍威尔

104

这是Google map-reduce的一个插件,不仅适用于自己,而且是Google在不可靠的商用机器上运行快速,可靠的服务的代理。这绝对是一项重要的发明,与大铁器大型机进行重量计算的方法完全不同,后者是1980年的风口浪尖。


10
map-reduce根本不是Google的发明。
akappa

20
我是一名函数程序员。我的第一语言是APL。您的意思是吗?
诺曼·拉姆齐

15
那么,Lisp中的(mapcar fl)和(reduce fl)会自动在任意数量的商品机器上运行,处理所有的互通,故障和重启吗?
Jared Updike

16
Google map-reduce与功能性map-reduce根本没有任何关系。
aehlke

91

标记,信息的分类方式。是的,每个问题下方的小方框文字。

惊人的发明标签花费了30年。我们使用了目录和目录。我们使用了针对印刷书籍进行了优化的内容。

但是,30年比人们意识到印刷书籍可以使用较小格式所需的时间短得多。人们可以将书放在手里。

我认为标记概念在核心CS专家中被低估了。所有研究都集中在自然语言处理(自上而下的方法)上。但是标记是计算机和人们都能很好理解的第一语言。这是一种使计算机使用自然语言的自下而上的方法。


1
同意-这与我提交的内容有关,我唯一能想到的就是在许多域中查询的语法标记-但您说得更好。
dkretz

40
看看Engelbart ca 1962-72
Alan Kay

对我而言,标记非常类似于使用meta = keywords标记的早期搜索引擎(这也是80后的标记,我只是在说标记不值得一提)。
Kornel

1
尽管在计算中标记是相对较新的方法,但是标记也是从书籍继承的概念。在书中,这称为索引。
Domchi

6
从……开始,图书馆就一直在使用“标签”。考虑一下标记为“关于xxx的图书” 的图书卡(对不起,我不确定用英语怎么说)。
nico 2010年

80

我认为我们正在以错误的方式看待并得出错误的结论。如果我做对了,那么循环将进行:

想法->首次实施->少数群体采用->临界数量->商品

从最初的想法到商品,假设这个想法曾经实现到那个阶段,您通常都有几个世纪的经验。达·芬奇(Da Vinci)可能在1493年就画过某种直升机,但花了大约400年的时间才获得了能够将自己抬离地面的实际机器。

从威廉·伯恩(William Bourne)在1580年对潜水艇的首次描述到1800年的第一次实施,您已有220年的时间,目前的潜艇仍处于起步阶段:我们几乎不知道水下旅行的可能性(考虑到有2/3的行星在海底,想一想潜在的房地产;)。

并没有说没有更早,更早的想法是我们从未听说过的。根据一些传说,亚历山大大帝似乎在公元前332年使用了某种潜水钟(这是潜水艇的基本概念:一种将人员和空气供应带到海底的装置)。算上这一点,我们正在研究从构思(甚至具有基本的原型)到产品的2000年。

我的意思是说,今天寻找的实现方式,更不用说产品了,甚至在1980年之前都不是创意。。。所以呢?

当然,40年前就已经有了联网的计算机,但这与当今的Internet并没有什么不同。基本的想法/技术在那里,但是无论您不能在线玩魔兽游戏。

我声称在大多数计算领域中我们确实需要新的想法,并且我想知道最近做过的任何重要而强大的想法。如果我们找不到它们,那么我们应该问“为什么?” 和“我们应该怎么做?”

从历史上看,我们从未如此迅速地“发现”与该想法接近的事情。我认为周期正在越来越快,但是计算仍然还很年轻。

目前,我正在尝试弄清楚如何制作全息图(没有任何物理支持的“星球大战”)。我想我知道如何使其运作。我什至没有收集工具,材料,资金,但是即使我要取得任何程度的成功,实际的想法也已经有几十年的历史了,至少相关的实现/技术已经使用了很长时间。 。

一旦开始列出实际产品,您就可以肯定,概念和第一个实现已经存在了一段时间。没关系

您可能会出于某种原因而辩称,什么都没有新,或者什么都总是新。这是哲学,两种观点都可以辩护。

从实际角度看,真理介于两者之间。真理不是一个二进制概念,布尔逻辑是该死的。

中国人可能早就提出了印刷机的要求,但是大多数人才能够以合理的价格在家中打印出体面的彩色照片只有大约十年的时间。

发明无处不在,这取决于您的标准和参考框架。


1
+1。看看例如在iPad的;)见stackoverflow.com/questions/432922/...
VonC

4
如果只有一个收藏。答案标签...如果只有一个选项,可以给2个投票...
tshepang 2010年

好答案。也许我们应该问,过去30年中有什么新想法(不是新产品/发明)。而且由于很难在它们建成之前就说它们是“重要的”还是革命性的……也许我们可以推测一下,然后决定在哪里花更多的精力。
mpen

3
在过去的30年中,出现了无数令人惊叹的新想法,但是不一定有时间看看哪个想法很重要。选择任何计算领域,只需浏览一下去年发布的研究,您就会发现,从小改进到全面检修,不乏新想法。但是,1980年代及以前看起来如此革命性和混乱,因为这些想法现在已经实现并且无处不在,因此它们似乎意义重大。我们将在30年后进行同样的讨论,届时从现在起的想法将被归结为出色的发明。
Perrako 2010年

@Mark:什么才算是“新想法”?每个想法,一段代码,生物有机体都有一个上下文,以一种观点来看,这不会使任何事情真正新颖。凯教授的问题是,他和他的施乐公园的同事(以及距他10年的恩格尔巴特)在技术/计算机行业点燃大火背后的哲学正在如火如荼地燃烧着,并改变了世界,上下文。真正的新想法在那里没有任何的影响,所以我们都没有听说过他们-他们的正确性和内核安全,非ARM,非x86架构等的书面证明操作系统
贾里德·厄普代克

68

Google的Page Rank算法。虽然可以将其视为对网络爬网搜索引擎的改进,但我要指出的是,它们也是1980年以后开发的。


“仅求精”常常是矛盾的。在这种情况下,改进就是技术。在Google提出该网页排名算法之前,互联网是一个更加可怕的地方(并迅速提供了结果,并且没有页面混乱,以及过去使用其他搜索引擎时我们不得不忍受的所有其他疏edge)。
David Berger,2009年

19
我不认为你知道什么是矛盾。
杰森

1
您还记得altavista和那家鲜为人知的公司:雅虎吗?
EstebanKüber09年

@voyager:Hotbot和Lycos也不错。
Dean J

2
@martin这是一个非oxymoron oxymoron。定义中存在矛盾:ninjawords.com/oxymoron
Jason

66

DNS,1983年,以及诸如MX记录而不是爆炸路径的电子邮件主机解析之类的相关进步。*不寒而栗*

Zeroconf在2000 DNS之上工作。我将打印机插入网络,笔记本电脑看到了。我启动网络上的Web服务器,然后浏览器看到它。(假设他们广播了其可用性。)

基于Marzullo算法(1984)的NTP(1985)。抖动网络上的准确时间。

鼠标滚轮,1995年。使用没有鼠标的鼠标感觉很原始。不,这不是Engelbart团队想到的事情,也没有忘记提及。至少在我问当时在团队中的某人时没有。(这是在1998年左右的某个Engelbart活动中进行的。我必须处理其中的第一批小鼠。)

Unicode,1987年及其对不同类型的编码,规范化,双向文本等的依赖发展。

是的,人们每天使用这五种东西是很普遍的。

这些是“真正的新想法”吗?毕竟,有老鼠,有字符编码,有网络计时功能。告诉我如何区分“新”和“真的”,我将为您解答。我的直觉说,这些已经足够新了。

在较小的领域中,很容易获得最新的进展。例如,在生物信息学中,Smith-Waterman(1981),尤其是BLAST(1990)有效地使该领域成为可能。但这听起来像是您在征求在整个计算领域中广泛应用的想法,而那些低调的果实会首先被选中。因此总是有一个新领域。


63

数码相机呢?

根据Wikipedia的说法,第一款真正的数码相机出现在1988年,大众市场的数码相机在1990年代后期变得负担得起。


但是这个想法,发明和专利是在70年代初期出现的(请参见“早期开发”部分)
saschabeaumont

10
数码相机?从高票看,人们想知道人们今天对“计算”一词的理解。
MaD70

1
图片是现代消费者计算所基于的。没有网络摄像头,傻瓜相机或昂贵的SLR(用于报纸),现代消费者就不会真正需要计算机。
Marius 2010年

14
@ MaD70:我想你不太喜欢摄影,是吗?仅举几例:自动面部识别,自动对焦,“全景模式”,自动白平衡……它绝对属于计算领域。
nico 2010年

6
抱歉,显然是1975年柯达制造的第一台数码相机原型。pluggedin.kodak.com/post/?ID=687843
Mark Ransom

50

现代着色语言和现代GPU的普及。

GPU还是一种低成本的并行超级计算机,具有诸如CUDA和OpenCL之类的工具,可提供快速的高级并行代码。感谢所有那些降低了这些令人印象深刻的硬件奇迹的价格的游戏玩家。我希望在未来五年内,每售出一台新计算机(包括iPhone),都能够运行大规模并行代码作为基本假设,就像24位彩色或32位保护模式一样。


尝试一下。你不会喜欢的 对于大多数实际问题,多核系统要快得多。YMMV。适用于图形,仅此而已。
xcramps

将它们称为GPU而不是PPU是有原因的...(并行处理单元)。大多数人没有耐心和/或技巧为他们编写好的代码。尽管有越来越多的研究项目正在探索将GPU用于非图形目的。
RCIX

3
我尝试过这个。我喜欢 我可以在GPU上运行我的所有Matlab代码,除了可以用search'n'replace进行的一些类型转换之外,无需对源代码进行任何修改。Google“ Matlab GPU计算”。
康坦戈

3
我同意OP。尽管我们现在可能认为理所当然的是可编程管线,但是它完全改变了图形世界,并且看起来它可能会继续改变编程世界的其他部分。@xcramps:我想我缺少了一些东西;最后我检查了一下,GPU是多核系统。只是拥有更多的核心。有点像...超级计算机。但是我想这些在现实世界中并没有真正用于任何事情……
Perrako

两年后(而不是5,因为我说的),并与OpenCL的出货移动设备是在地平线上:macrumors.com/2011/01/14/...
贾里德·厄普代克

43

JIT编译是在1980年代后期发明的。


好吧,关于Self语言的实现(完全由JIT编译)的整个工作都非常出色,并且今天它对于Google V8中Javascript的有用性可见一斑。那是从80年代末和90年代初开始的。
Blaisorblade

7
我首先在70年代出版的约翰·艾伦(John Allen)的《解剖的Lisp》一书的最后一章中看到了这个想法。他引用了70年代的博士论文作为发起人。
达里乌斯·培根

也许我们应该将其改进为“基于配置文件的自适应JIT编译”,例如Self JIT或Sun的Java Hotspot
kohlerm,2009年

34
1970年代初,有JIT的博士学位论文之一是吉姆·米切尔(Jim Mitchell)在CMU的工作–他后来去了PARC
艾伦·凯

2
诺里(KV);美国安曼 詹森 Nageli,H.(1975年)。Pascal P编译器实施说明。苏黎世:Eidgen。科技 Hochschule。(感谢Wikipedia)
Arafangion

42

要解决关于“为什么新思想死了”和“怎么做”这两个问题?

我怀疑很多缺乏进展的原因是该行业大量资本涌入和财富根深蒂固。听起来有些违反直觉,但是我认为,任何新主意一枪都成为惯例。如果第一次尝试失败,就不会回来。它被有根深蒂固的利益的人买走,或者只是失败了,精力就消失了。几个例子是平板电脑和集成的办公软件。牛顿和其他几个人有真正的潜力,但最终(通过竞争性减员和错误的判断)浪费了自己的出生权,杀死了整个类别。(我特别喜欢Ashton Tate的Framework;但是我仍然坚持使用Word和Excel)。

该怎么办?首先想到的是Wm。莎士比亚的忠告:“让我们杀死所有律师。” 但是,恐怕现在他们的武器太全了。实际上,我认为最好的选择是找到某种开源计划。他们似乎比其他方法更好地维护了可访问性和增量改进。但是该行业已经足够大,因此需要某种有机的协作机制来吸引人们的注意力。

我还认为,有一种动态表明,根深蒂固的利益(尤其是平台)需要大量的变更-流失-才能证明持续的收入来源是合理的;并且吸收了很多本可以用更好的方式花费的创造力。看看我们花费了多少时间来进行Microsoft,Sun,Linux或Firefox的最新迭代,对大多数已经可以正常使用的系统进行更改。这不是因为它们是邪恶的,而是行业中内置的。没有稳定的平衡之类的东西。所有的反馈机制都是积极的,有利于改变而不是稳定性。(您是否看到某个功能被撤消,或撤消了更改?)

关于SO的另一条线索是Skunkworks综合征(参考:Geoffrey Moore):大型组织中的真正创新几乎总是(90%以上)出现在自发出现的未经授权的项目中,这些项目完全是由个人或小组发起的(并且经常会受到正式管理层次结构的反对)。因此:问题授权,取消系统。


我喜欢Framework,但仍然可以购买,但价格昂贵。
Norman Ramsey

7
在一个新的知识领域中拥有新的想法总是比较容易,因此,许多重要的想法是在1950年代和1960年代出现的。我们现在可以将其中大多数做得更好。
David Thornley,2009年

6
我认为这个答复和评论都很好。
艾伦·凯

5
@David:“现在好多了”。而且便宜。和更小。这使得更好地做其他事情的新方法成为可能。例如,我口袋里有10首歌曲-> 1,000首歌曲-> 1,000张专辑,当然这是一个程度的问题,但它会改变一切,即使从1980年以前的某个人证明可以在理论上在大型大型机上完成。这些部件可能已经存在,但是某些发明(例如iPod)不仅仅是部件的总和。
Jared Updike

@Alan Kay,@ le dorfier:在我看来,一个根深蒂固的态度的部分反例是Donald Knuth决定将teX版本号渐渐向pi递增。但是他是一个机构,而不是公司。对于Mozilla和Google争夺其浏览器版本100的情况,我感到震惊,而智能和创造性的标准化以及数据访问和转换方面的创新却滞后。
奥格拉德

36

令我惊讶的一件事就是谦虚的电子表格。非编程人员可以使用简单的公式来构建针对现实世界问题的疯狂而出色的解决方案。在台式机应用程序中复制他们的工作通常要比编写电子表格花费10到100倍的时间,因此生成的应用程序通常更难使用且充满错误!

我相信电子表格成功的关键是自动依赖性分析。如果电子表格的用户被迫使用观察者模式,那么他们将没有机会正确使用它。

因此,最大的进步是自动依赖性分析。现在,为什么没有任何现代平台(Java,.Net,Web服务)将其构建为系统的核心?尤其是在当今通过并行扩展的时代中,依存关系图导致并行重新计算变得轻而易举。

编辑:当-刚刚检查。VisiCalc于1979年发布-我们假装它是1980年以后的发明。

Edit2:看来Alan已经注意到了该电子表格-如果向他购买该论坛的问题是正确的!


5
我曾想过这个答案,但是Visicalc在1980年截止日期之前只是发布了一个小词。(en.wikipedia.org/wiki/VisiCalc
Oddthinking

但这揭示了一个有趣的观点:仅提供一种显示和操作数据的简单方法就创建了一种非常有用的工具。还有其他类似的“授权”想法吗?我们需要一个吗?我认同。
哈维尔2009年


我完全同意。自动依赖分析可以并且应该成为现代编程语言的一部分。
杰西·

1
@hasen j:Excel是一个电子表格顺便说一下,有一些现代平台可以保持计算之间的依赖关系,例如Haskel(Excel和函数式语言有很多共同点,例如纯函数和惰性求值)。Excel比Haskel更加直观:)
2011年

36

软件:

  • 虚拟化和仿真

  • P2P数据传输

  • 社区驱动的项目,例如Wikipedia,SETI @ home ...

  • 网络搜寻和网络搜索引擎,即索引遍布世界的信息

硬件:

  • 模块化PC

  • 电子纸


6
虚拟化是在1972年在VM / CMS上实现的。您所说的“模块化PC”是什么意思?
哈德森,2009年

我认为,“模块化PC”意味着任何人都可以购买几乎可互换的组件并构建自己的计算机。
Psycho_Penguin

14
P2P于70年代在施乐PARC发明-Altos都是P2P,文件资源和打印机以及“路由器”都是P2P Altos
Alan Kay

1
我看到“电子纸”,然后想什么?这对我的日常影响如何 我很高兴它的存在,但是与手机或iPod相比,电子阅读器并不是一种非常重要的技术。
Jared Updike

3
我想指出,大约40至50年前,每个人仍主要在纸上进行数学运算,对计算机也是如此……
RCIX,2009年

36

函数编程研究人员对monad的重新发现。monad有助于使纯净的惰性语言(Haskell)成为实用工具。它也影响了组合器库的设计(monadic解析器组合器甚至已经进入了Python)。

Moggi的“程序模块的分类理论说明”(1989)通常被认为是将单子视图引入以进行有效的计算。Wadler的工作(例如“ Imperative Functional Programming”(1993))提出了monad作为实用工具。


36

拆封软件

在1980年之前,软件大多是专门编写的。如果您经营一家公司并想进行计算机化,通常会得到一台计算机,编译器和数据库,并编写自己的东西。商业软件通常是为适应商业惯例而编写的。这并不是说没有固定软件(我在1980年前就曾与SPSS一起工作过),但这不是规范,我所看到的往往是基础架构和研究软件。

如今,您可以去一家计算机商店,在架子上找到经营一家小型企业所需的一切。它的设计目的不是无缝地适应您以前使用的任何实践,但是一旦您根据其工作流程学会了或多或少地工作,它就会很好地工作。像SAP和PeopleSoft这样的大型企业比以前更容易收缩包装。

这不是一个彻底的突破,但是在1980年之后,确实发生了从昂贵的定制软件到低成本现成软件的非常明显的转变,灵活性从软件转移到了业务流程。

它还影响了软件的经济性。定制软件解决方案可以带来利润,但无法扩展。您只能向一个客户收取这么多的费用,并且不能将同一件东西卖给多个客户。使用收缩包装软件,您可以出售很多相同的东西,从而在很大的销售基础上摊销开发成本。(您确实必须提供支持,但是可以扩展。只需将其视为销售软件的边际成本即可。)

从理论上讲,在变革中有大赢家的地方,就会有输家。到目前为止,软件业务一直在扩大,因此随着商品的商品化,其他领域也随之开放。这可能会在某个时候结束,而才华横溢的开发人员将发现自己陷入了真正的困境,无法为大男孩工作,并挤占了市场。(这大概发生在其他领域;我怀疑对会计师的需求比没有QuickBooks之类的情况要少得多。)


Turbo Pascal&C在MS-DOS系统上的价格为100美元,在其他C / PM的C编译器上激起了100美元的价格。
CW Holeman II '02

抱歉,很确定Microsoft在1980年之前就销售收缩包装软件。并不是说它们是唯一的软件。
Mark Ransom

34

在硬件创新之外,我倾向于发现在阳光下几乎没有新事物。大多数真正伟大的想法都可以追溯到冯·诺依曼(von Neumann)和艾伦·图灵(Alan Turing)等人。

如今,许多被标记为“技术”的东西实际上只是某人编写的程序或库,或者是用新的隐喻,首字母缩写或品牌名称对旧观念进行的重读。


3
您看不到森林,因为所有树木都在路上...构造块基本相同,但结果已更改/演变。
约翰

8
...这就是技术的定义;)“知识的实际应用...”
steamer25 2009年

1
我同意现在是下一件大事的时候了。我厌倦了将过去遗忘的东西重新包装成新东西。就像Javascript = AJAX。
詹姆斯

32

上世纪八十年代初期,在施乐帕洛阿尔托研究中心对计算机蠕虫进行了研究。

约翰·肖克(John Shoch)和乔恩·赫普(Jon Hupp)的作品 “蠕虫”程序-分布式计算的早期经验 ”(ACM通讯,1982年3月,第25卷第3期,第172-180页,1982年3月):

《冲击波骑士》中J. Brunner的 开发理念是通过计算机网络松散运行无所不能“绦虫”计划的概念-一个想法,似乎相当令人不安,但也远远超出我们目前的能力。但是,基本模型仍然是一个非常具有启发性的模型:可以在机器之间移动的程序或计算,可以根据需要利用资源,并在需要时进行自我复制。

同样,我们曾经描述过基于经典科幻电影《斑点》的计算模型:程序最初在一台机器上运行,但是随着其对计算周期的需求增加,它可以伸出援手,找到未使用的机器,并逐渐包含这些资源。在深夜,这种程序可以动员一栋大楼中的数百台机器。早晨,随着用户收回机器,“斑点”将必须有序地撤退,收集其计算的中间结果。白天,该程序会在一两台计算机中停顿下来,以后可能会在资源可用时再次出现该程序,从而再次扩大了计算范围。(这种对夜间探索的热爱使一位研究人员将其描述为“吸血鬼计划”。)

引用艾伦·凯(Alan Kay)的话:“预测未来的最佳方法是发明它。”


@Bobby:根据Lehtinen,Russell和Gangemi的2006年计算机安全基础知识,这项工作开始于“ 1980年左右”。因此,如果您不理会科幻小说的先驱,那就很重要。
查尔斯·斯图尔特

31

更好的用户界面。

今天的用户界面仍然很烂。我的意思不是小事,而是大而根本的事。我禁不住注意到,即使最好的程序仍然具有非常复杂的接口,或者需要以其他方式进行大量抽象思考的接口,而这些接口并没有接近传统的非软件工具的易用性。

当然,这是由于软件允许做更多的事情比传统工具。不过,这没有理由接受现状。此外,大多数软件根本做得不好。

通常,应用程序仍然缺乏某种“正当工作”的感觉,而这太多地取决于可以做什么,而不是该做什么。节省的重点是一再提高的一点,但仍然没有解决。应用程序崩溃,破坏了工作时间。我习惯每隔几秒钟按一次Ctrl + S(当然,这在Web应用程序中不再起作用)。为什么我必须这样做?这真是令人麻木的愚蠢。显然,这是自动化的任务。当然,如果出现错误,应用程序还必须为我所做的每个修改(基本上是无限的撤消列表)保存一个差异。

解决这个问题实际上并不困难。由于没有良好的API来执行此操作,因此很难在每个应用程序中实施它。编程工具和库必须进行显着改进,然后才能在所有平台和程序中轻松实现此类efford,以实现具有任意备份存储且无需用户交互的所有文件格式。但是,这是我们最终开始编写“好”应用程序而不是仅仅适当的应用程序之前的必要步骤。

我认为,苹果在某些方面目前最接近“正当的感觉”。以其最新版本的iPhoto为例,该功能具有面部识别功能,可以根据出现在其中的人自动对照片进行分组。是一项经典的任务,用户不想手动执行,并且不理解为什么计算机不自动执行该任务。甚至iPhoto距离良好的UI仍然还有很长的路要走,因为该功能仍需要用户(对于每张照片!)进行最终确认,因为人脸识别引擎并不完美。


3
谷歌的Picasa已经有一段时间了。实际上,picasa具有许多其他功能,这些功能正逐渐爬入iPhoto。
akshaykarthik 2010年

30

HTM系统(分层时间记忆)。

杰夫·霍金斯(Jeff Hawkins)通过《论情报》(On Intelligence)一书提出了一种新的人工智能方法。

现在作为一家名为Numenta的公司活跃,通过开发“真正的” AI来检验这些想法,并邀请社区通过SDK使用该系统来参与。

它更多地是从头开始构建机器智能,而不是试图模仿人类的推理。


11
当他们做一些有趣的事情时,我将成为掌声的第一位也是最高位的领导者
艾伦·凯

@AlanKay好吧,似乎HTM已经用于实际产品中。例如:Vitamind inc可让您识别CCTV镜头中的物体或人物。Vitamindinc完全由HTM提供动力。在本文中,您可以看到,HTM实际上胜过了SVM方法,可以在USPS等数据集上进行手写识别。它同时具有生物启发性和极高的实用价值,这一事实令我震惊。我想您可以立即开始鼓掌。
本杰明·克鲁兹耶

26

在人机交互中使用物理来提供替代性的,可理解的隐喻。结合手势和触觉,很可能会导致取代70年代发明的和80年代中后期以来普遍使用的当前通用GUI隐喻。

为了实现这一目标,1980年没有计算能力。我相信游戏很可能在这里引领潮流。在iPod Touch / iPhone中的列表滚动交互中可以很容易地看到一个例子。交互机制依赖于动量和摩擦在现实世界中如何工作的直觉,从而提供了一种滚动项目列表的简单方法,而可用性则取决于导致滚动的物理手势。


我能想到的最早的例子是兰迪·史密斯(Randy Smith)的Alternate Reality Kit,它是在86或87年在PARC的Smalltalk-80中构建的。您可以使用物理隐喻来实现新对象。每个对象都有位置,质量,动量,以及一个通过其消息界面与之交互的弹出菜单。
PanCrit

25

我相信单元测试,TDD和持续集成是1980年以后的重大发明。


2
我认为,首先进行测试是一种非常古老的方法,已经被重新使用。
约翰诺·诺兰

那是软件工程问题,而不是“计算”问题
SquareCog 2009年

7
我同意约翰的观点,例如布鲁克斯(Brooks)在《神话人月》(The Mythical Man-Month,1975)中描述了一种测试优先的方法。
Fabian Steeg,2009年

28
在60年代后期,BBN Lisp 1.85首先进行了认真的持续集成,后来在PARC成为Interlisp。70年代PARC的Smalltalk也是一个持续集成系统。
艾伦·凯

3
TDD仅在计算机足够快地运行小型测试以至于您愿意一次又一次地运行它们时才变得有用。
杰伊·巴祖兹

25

手机。

当第一部“无线电话”专利于1908年获得专利并且使用了很长一段时间(1945年为0G,1979年在日本推出了1G)时,现代2G数字手机直到1991年才出现。SMS不存在直到1993年才开始使用Internet,并于1999年开始使用Internet。


4
1979年的日本,即1980年之前。我们正在寻找新的发明-研究实验室,大学,专利申请的实际演示...所有这些都将在许多年之前推向大众市场。
saschabeaumont

1
1G和2G之间的差异大约与模拟计算机和数字计算机之间的差异一样大。我认为2G(1991)应该得到“新”发明的地位。
Domchi

并且取决于省电技术和优质电池。
约翰

23

我从1980年1月2日开始编程。我曾尝试过考虑职业生涯中的重大新发明。我很难想到任何。我认为重要的大部分实际上是在1980年之前发明的,但是直到后来才被广泛采用或改进。

  1. 图形用户界面。
  2. 快速处理。
  3. 大内存(我在1980年为20k支付了200.00美元)。
  4. 小尺寸-手机,掌上电脑,iPhone,上网本。
  5. 大存储容量。(我已经从携带90k的大型软盘变成了8 gig usb拇指驱动器。
  6. 多个处理器。(现在我几乎所有的计算机都拥有一台以上的计算机,软件很难使它们保持繁忙)。
  7. 标准接口(如USB)可轻松连接硬件外围设备。
  8. 多点触控显示。
  9. 网络连接-导致90年代中期互联网爆炸。
  10. 具有Intellisense和增量编译功能的IDE。

尽管硬件有了很大的进步,但是软件行业一直在努力跟上步伐。我们比1980年要光明,但是大多数改进都是改进而不是发明。自1980年以来,我们一直在忙于应用这些先进技术而不是进行发明。这些增量发明中的大多数本身并不重要或功能强大,但是当您回顾过去29年时,它们却相当强大。

我们可能需要接受逐步改进并加以引导。我相信,真正的原创想法可能会来自很少接触计算机的人,并且越来越难以找到它们。


“真正的想法可能来自很少接触计算机的人”。而且更令人难过的是,因为大多数“麻木”的曝光是窗户/办公室。
哈维尔2009年

1
较早的发明有一些日期:Engelbart的GUI在1968年进行了演示,Xerox PARC Alto在1973年进行了开发。台式机而不是机房中有多个CPU是新的-VAX群集于1978
Hudson

在我出生之前,您正在编程。I,我还有很长的路要走。
Kezzer

哎哟。我直到26岁才开始,现在真的很老。:)
bruceatk

您是否将200美元的16k内存芯片的通货膨胀因素考虑在内?
蒂姆·汤纳森

22

没有。

我认为这是因为人们改变了态度。人们过去曾经相信,如果他们只是找到那个“大主意”,那么他们就会使它富有。如今,人们认为,付出最大的是执行而不是发现。您有诸如“想法是一毛钱一打”和“第二只老鼠拿到奶酪”之类的口头禅。因此,人们专注于利用现有想法,而不是提出新想法。


3
因此,许多现有想法尚未实现。
布列塔尼

3
总有一些疯子会提出新的想法,他们只是无能为力;-)
约翰·约翰(Johan)2009年

但是他们是疯子,所以他们不能卖掉他们的想法,因为没人会听他们的。
亚当·贾斯基维奇

想法更多地是艺术家的工作。实际执行是我们的工作。寻找工程师以寻求全新的想法就像在错误的池塘中钓鱼。对于聪明的新想法,请阅读Sf并弄清楚如何完成这些工作(我认为可以完成很多工作)。但是,实施一个荒诞的想法可能需要数年时间。艺术家可以散布想法和梦想,但是工程师们有望拿出产品……他们也必须吃东西。
Sylverdrag

16

开源社区发展。


2
实际上,SIG / M用户组磁盘早于我们现在称为开源的磁盘。它包含数百张装有CP / M软件的软盘磁盘,其中许多都是开源的(尽管那时不存在“开源”一词)。
Mike Thompson,2009年

2
在可以使用计算机的人们之间进行开放式合作与发展的意义上,这很像1960年代的IBM用户组。只是现在有更多的人买得起计算机。
David Thornley,2009年

2
同意大卫的观点,随着计算机从教育和科学领域转移到商业领域,它直到现在才变得更加突出,这导致了“封闭源”软件,使许可证混乱。它一直在那里,直到律师介入才需要名字。
2009年

1
是的,我在这里也必须同意戴维的观点。开源早于1980年。它至少提前20年。我以为是1950年代而不是1960年代。
布伦丹·恩里克

16

iPad上(2010年4月发布):当然,这样的一个概念是绝对的革命!

替代文字http://www.ubergizmo.com/photos/2010/1/apple-ipad//apple-ipad-05.JPG

艾伦·凯(Alan Kay)根本看不到来自1970年代的件事!
想象一下这样的“个人,便携式信息操纵器” ...


...

等待?什么!?你说的Dynabook

替代文字

由艾伦·凯深思熟虑的,早在1968年,并在伟大的细节在这个1972年论文中描述

NOOOooo ooooo ....

哦,好吧,没关系。


有关此答案的详细说明,请参见stackoverflow.com/questions/432922/…
VonC 2010年

可以肯定的是,这个想法早就存在了(例如苹果牛顿)。但是,该技术到目前为止已经取得了很大进展,因此有可能制造出廉价(且性能优异)的消费类设备。
尼尔斯2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.