Looking at Peter Wayner's examination of possible futures for dynamic programming languages, I'm surprised that "better language technology" didn't rank higher on the list of evolutionary principles. All of the major interpreted languages have enjoyed a period of active development in recent years. Despite their humble origins, you can hardly refer to Perl, Python, or Ruby as "scripting languages" anymore.
I'm particularly interested in the growing convergence between dynamic languages and platforms like Java and .Net. Dynamic languages have lately been exploring such technologies as bytecodes and JIT (just-in-time) compilation, while the Java and .Net runtimes have been adding features to accommodate more dynamic programming styles. In fact, some engineers envision a time when the two technologies conflate completely.
The key to such a conflation will be to divorce the VMs from the syntactic details of specific languages. No more languages as platforms; imagine being able to program in the language of your choice and then choose from any of several different underlying engines to execute your code, depending upon the needs of your application. It could be the next major stage in the evolution of programming -- and it's happening now.
Write anything, run everywhere
Not surprisingly, perhaps, the first hints of this idea came from the dynamic-language side of the house. Though long delayed (some would say it has officially graduated to vaporware status), Perl 6 is expected to run on Parrot, a "generic" VM engine that will execute not just Perl code but also Python and potentially other dynamic languages as well.
Not long after Larry Wall and company began work on Perl 6, Microsoft introduced the .Net platform, and with it CLR (Common Language Runtime). Seen by many as Microsoft's answer to the JVM (Java Virtual Machine), the CLR has an advantage in that while the JVM was designed to run Java, the CLR supports a variety of languages.
The first beneficiaries of the CLR were traditional-style compiled languages, such as C++, C#, and Visual Basic. With some diligence, however, Jim Hugunin was able to implement a version of Python for the CLR, and other, similar projects would soon follow. More recently, Microsoft has announced the Dynamic Language Runtime, an effort to provide services on top of the CLR designed specifically to suit dynamic languages.