"Disruptive Programming Language Technologies" (video, slides) is one of my favorite talks on the future of programming languages. The talk is by Todd Proebsting, who is a senior researcher at the Microsoft Center for Software Excellence (formerly the Programmer Productivity Research Center).  His point applies particularly well to the success of managed environments like .NET.  Managed (type-safe, garbage collected) environments have existed in the same basic form for decades, but due to their disadvantages (eg. performance) the mainstream industry largely ignored them.  Eventually the industry viewpoint shifted radically, and relatively quickly, to embrace this technology.  I find it amusing looking back at my own viewpoint on this subject.  I’m ashamed to say that it wasn't that long ago that I thought managed languages like Java and VB were "toy" languages that no real serious programmer would choose to use.  Over the past 5 years, my attitude changed radically, even though the technology really didn’t.  I've committed myself to not being so narrow-minded about whatever the next big changes are <grin>.

Here's is Todd's summary of this talk:

For the past few decades, programming language design and implementation research has concentrated heavily in a few notable areas: type theory, functional programming, object-oriented programming, and, of course, optimization techniques. Yet the recent commercially successful languages (e.g., Perl, Python, Visual Basic, Java) are not particularly interesting when judged in these domains. What happened? Each represented a "disruptive technology" that allowed it to capture programmer mindshare while everybody else was looking. In this talk, I will present what I think makes a programming language technology disruptive, and I will propose possible future disruptive programming language technologies.