We've seen stability in our languages. So, we've had C# pop up on the horizon, but by and large it's not like in the days of Java and Smalltalk or C++ that we've seen a real revolution in languages.
So, there's some stability there. The ground has shifted to where you think less so about building on top of the naked operating system and more so about building on top of the middleware.
Danny Sabbah, who is a chief architect of IBM's Software Group, suggested that the middleware is the operating system of the Internet. So, that's yet another shift.
So, what we see here is with these two things happening—the stability of languages and the shift to middleware—and the fact that people are building more and more complex things.
We see this confluence of modeling, patterns and even a little bit beyond that, the notion of aspects. That's where we think this whole modeling thing is: the beginning of a long series of things that can help raise the level of abstraction.
[...]Software development is ultimately a team sport. So, we can focus upon getting faster compilers and all those kinds of things, but ultimately it's about getting the stakeholders on the project to work together.
"IBM Rational Leader Charts UML's Path"