这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
这个问题来自于对过去50年左右计算领域各种进展的评论。
其他一些与会者请我把这个问题作为一个问题向整个论坛提出。
这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。
我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”
当前回答
谷歌的页面排名算法。虽然它可以被看作是网络爬行搜索引擎的改进,但我要指出的是,它们也是在1980年之后开发的。
其他回答
函数式编程研究者对单子的重新发现。单子有助于让一种纯粹的、懒惰的语言(Haskell)成为一种实用的工具;它还影响了组合子库的设计(一元解析器组合子甚至在Python中找到了自己的方式)。
Moggi的“程序模块的范畴理论解释”(1989)通常被认为是将单子引入有效计算的观点;Wadler的作品(例如,“命令式函数式编程”(1993))将单子作为实用工具。
我认为没有什么重要的东西被发明出来。但自80年代以来,人们对软件的看法发生了很大变化。那时有更多的理论家参与其中,现在你在一个程序员论坛上问这个问题。
当时的大多数想法都没有得到实施,或者即使实施了,它们也没有任何真正的重要性,因为当时的软件行业还不存在,市场营销、人力资源、开发阶段或alpha版本也不存在:)。
Another reason for this lack of inventions is the fact that most people use Windows:) dont get me wrong, i do hate M$, but look at it this way: you have a perfectly working interface, with nothing new to add to it, maybe just some new colored buttons. Its also closed enough so you wont be able to to anything with it without breaking it. Thats why i prefer open apps, this way you get more "open" people, to whom yo can actually talk, ask then questions, propose new ideeas that actually gets implemented, or at least put on an open todo-list, thus you get some kind of "evolution". You dont really see anything new because you are stuck with the same basic interface "invented" lots of years ago... did anyone actually tried ION window-manager in a production environment? It has a new kind of interface, and actually lets you do things faster, event it it looks quirky
M$, Adobe..you name it,holds lots of patents so you wont be able to base your work on them, or derivatives(you also wont know what kind of undeveloped tehnologies they hold). Look at MP3 and GIF as examples( i belive that they are both free formats now, but they are also kinda dead..) MP3 is the 'king' of audio evend if there are few algorithms out there much better that it..but didnt get enough traction because they weren't pushed on the consumer market. The GIF... come on, 256 colors??? From this point of voew i'm curios how many people from this thread are working on something "open" that will get to be reused in some other projects, and how many on "closed", protected by NDA's projects?
即使这听起来有点像“免费的威利”,但在80年代,软件是免费的,所有东西都有文档,所有硬件都更简单,更容易使用……同时也更加有限,所以人们并没有浪费时间去执行3d游戏或网页,而是致力于真正的算法。
上世纪八十年代初,施乐帕洛阿尔托研究中心对计算机蠕虫进行了研究。
摘自John Shoch和Jon Hupp的“蠕虫”程序——分布式计算的早期经验”(ACM通讯,1982年3月,第25卷第3期,172-180页,1982年3月):
In The Shockwave Rider, J. Brunner developed the notion of an omnipotent "tapeworm" program running loose through a network of computers - an idea which may seem rather disturbing, but which is also quite beyond our current capabilities. The basic model, however, remains a very provocative one: a program or a computation that can move from machine to machine, harnessing resources as needed, and replicating itself when necessary. In a similar vein, we once described a computational model based upon the classic science-fiction film, The Blob: a program that started out running in one machine, but as its appetite for computing cycles grew, it could reach out, find unused machines, and grow to encompass those resources. In the middle of the night, such a program could mobilize hundreds of machines in one building; in the morning, as users reclaimed their machines, the "blob" would have to retreat in an orderly manner, gathering up the intermediate results of its computation. Holed up in one or two machines during the day, the program could emerge again later as resources became available, again expanding the computation. (This affinity for nighttime exploration led one researcher to describe these as "vampire programs.")
引用艾伦·凯的话:“预测未来最好的方法就是创造未来。”
当然,1980年以前是施乐PARC的辉煌时期。在图形用户界面、鼠标、激光打印机、互联网和个人电脑刚刚诞生的时候。(鉴于我太年轻了,不可能活在那个年代,而你几乎在努力发明所有这些东西,关于1980年的事情,我不能告诉你任何你不知道的事情,所以我们继续吧。)
The thing is, though, that the pre-1980 days were a lot more vibrant in terms of truly disruptive new technologies. That's the way it is with any new field -- hwo many game-changing technology advances have you seen in railroads in the past 100 years? How many have you seen in lightbulbs? In the printing press? Once something ignites a hype in the right circles, there is an explosive period of invention, followed by a long period of maturing. After that, you're not going to see the same kind of completely radical changes again UNLESS the basic circumstances change.
幸运的是,这可能会发生在一些领域,而且已经发生在其他一些领域:
Mobility - smart phones bring computing to a truly portable platform, which will soon include location-based services and proximity-based ad-hoc networks. It's a completely new paradigm that's potentially as game-changing as the GUI has been The WWW (HTTP, HTML and DNS) has already been mentioned and is an obvious addition to the list, since it is enabling global, inexpensive, mainstream rich communication across the globe - all thanks to a computing platform On the interface side, both touch, multitouch (Jeff Han comes to mind) and the Wiimote need mentioning. Currently, they are basically curiosities, but so were the early GUIs. OOP design patterns -- higher level solutions as best practices to hard problems. Depending on your definition of 'computing', it may or may not belong on the list, but if you count OOP as a significant advance pre-1980 (I certainly do), I think design patterns and the GoF deserve a mention too Google's PageRank and MapReduce algorithms - I am pleased to notice I wasn't the first to mention them, and seriously --- where would the world be without the principles of both of them? I vividly remember what the world looked like before them, and suffice it to say Google really IS my friend. Non-volatile memory -- it's on the hardware side, but it is going to play a significant role in the future of computing - making bootup times a thing of the past, for example, and enabling us to use computers in entirely new ways Semantic (natural language) search / analysis / classification / translation... We're not quite there yet, but companies like Powerset give the impression that we're on the brink. On that note, intelligent HTMs should be on this list as well. I am yet another believer in Jeff Hawkins' model and approach, and if it works, it will mean a complete redefinition of what computers can do, what it means to be human, and where the world can go from here. Creating a real intelligence in that way (synthetically) would be bigger than anything the human race has accomplished before. GNU + Linux 3D printing / rapid prototyping (and, in time, manufacturing) P2P (which also lead to VoIP etc.) E-ink, once the technologies mature a bit more RFID might belong on the list, but the verdict is still out on that one Quantum Computing is the most obvious element on the list, except we still haven't been able to get enough qubits to play along. However, my friends in the field tell me there's incredible progress going on even as we speak, so I'm holding my breath for that one. And finally, I want to mention a personal favourite: distributed intelligence, or its other name: artificial artificial intelligence. The idea of connecting a huge number of people in a network and allowing them access to the combined minds of everyone else through some form of question answering interface. It's been done a number of times recently, with Yahoo Answers, Askville, Amazon Mechanical Turk, and so on, but in my mind, those are all missing the mark by a LOT... much like the many implementations of distributed hypertext that came before Tim Berners-Lee's HTML, or the many web crawlers before Google. Seriously -- someone needs to build an search interface into 'the hive mind' to blow everyone else out of the water. IMHO - it is only a matter of time.
电视管盒