这个问题来自于对过去50年左右计算领域各种进展的评论。

其他一些与会者请我把这个问题作为一个问题向整个论坛提出。

这里的基本思想不是抨击事物的现状,而是试图理解提出基本新思想和原则的过程。

我认为我们在大多数计算领域都需要真正的新想法,我想知道最近已经完成的任何重要而有力的想法。如果我们真的找不到他们,那么我们应该问“为什么?”和“我们应该做什么?”


当前回答

受保护的内存。在保护内存之前,如果你的程序犯了错误,你可以在任何地方开始执行代码——实际上总是挂起整个机器。没错,重启时间到了!

硬件成本低。我的第一台电脑在1978年花了500美元——这在当时是一笔巨款。降低成本让每个人的办公桌上都有了电脑。

其他回答

“美国人没有过去,也没有未来,他们生活在一个延伸的现在。”这描述了计算的状态。我们生活在80年代一直延续到21世纪。唯一改变的是尺寸。Alan Kay

来源: Alan Kay:计算机科学是一种矛盾修饰法吗?

Damas-Milner type inference (often called Hindley-Milner type inference) was published in 1983 and has been the basis of every sophisticated static type system since. It was a genuinely new idea in programming languages (admitted based on ideas published in the 1970s, but not made practical until after 1980). In terms of importance I put it up with Self and the techniques used to implement Self; in terms of influence it has no peer. (The rest of the OO world is still doing variations on Smalltalk or Simula.)

类型推断的变化仍在上演;我最喜欢的变体是Wadler和Blott的解决重载的类型类机制,后来发现它为类型级别的编程提供了非常强大的机制。这个故事的结局还在书写中。

The mouse - There have been posts about human interaction. To me, the mouse was the gateway to human interaction. Without it, we'd still be typing and not clicking in dragging, even with our fingers. GUI - Complimented the mouse perfectly. I work in an environment where an as400 is the backend of one of our major apps. Yeah.. Interesting stuff but it just reminds me of the screens 'Bill Gates' is working in in the movie 'Pirates of Silicon Valley' even though that's not what it was. To me, 1 and 2 are the reason anybody, including grandpas and grandmas can use a computer. Excel / spreadsheets - Someone mentioned this before but it's work mentioning again. It's so user friendly and is a great entry point for non-technical users to try their hand at simple programming concepts when performing calculations on cells. Granted it came out before 1980, but the versions post 1980 are when the technology in spreadsheets evolved. Internet (of course) - Not sure how people wrote code without it! Don't flame me for repeating because this belongs on every list. INTELLISENSE - LOVE IT LOVE IT LOVE IT!!!!

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.

我没有资格在一般意义上回答这个问题,但仅限于计算机编程?并不多。

为什么?我思考这个问题已经有一段时间了,我认为我们缺少两样东西:历史感和客观评价我们所创造的一切的方法。并非所有情况都是这样,但大体上是这样。

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等等。我们有没有试过测量这个?我们到底想测量什么?正确性,程序员的生产力,代码的易读性等等?如何?软件工程确实应该着手解决这些问题,但我还没有看到。