From the phone to the cloud, where will developers look for a unified, unencumbered platform?
How does Oracle's lawsuit play into this? As I explained in a previous post, the suit claims, among other things, that Dalvik, Android's VM, violates multiple Oracle patents and that Google has violated licensing terms for JME (JSE and JEE are under GPLv2) that prohibit replacing the JVM. Although most of the allegations specifically target JME, its damage will be far reaching because, right or wrong, the perception is that Oracle and the Java technology stack are intertwined, and that the company that acquired Sun would take over as the steward of the platform. Further, developers want a unified platform from mobile devices to the server. If JME is taken out of the picture, it diminishes the appeal of JSE and JEE for many organizations. You can use a different technology stack on the client and server but, having done a lot of this, I can testify to the fact its never as nice as having, for example, Java (the platform, not necessarily the language) on both ends or .NET on both ends.
Creating a virtual machine that is robust, high performance, scalable, works from the phone to the server, and is suitable for targeting by multiple languages is hard. You have to worry about memory management, concurrency, just-in-time and adaptive compilation, generational garbage collection and many, many other things best handled by PhDs who specialize in that particular area. Sun and Microsoft have spent tens of millions and many man-years developing and tuning their virtual machines. This is why languages like Ruby and Python are increasingly being used on top of the JVM and CRL. Many new languages such as Groovy, Clojure and Stab are built on top of this foundation.
It seems as though the software world needs a new, unencumbered technology stack including a virtual machine and standard library that can be targeted by multiple languages and works well from the phone to the desktop to the server (obviously the mobile environment would be scaled down.) It would require non-restrictive licensing and strong backing by, ideally, multiple companies with significant resources and expertise in VMs and frameworks. Perhaps one of Google's platform efforts will blossom into this. Maybe Parrot will finally take off. Perhaps a government will fund the effort. I know the latter sounds odd, but that is how we got the internet. :-) It will be very interesting to see where this goes in the next few years.