What happens to the Java language and execution time? Since Java has been in Oracle’s hands, there has been a succession of bad news after the acquisition of Sun. to remember:
The JavaOne conference in September 2010 was held in the shadow of Oracle OpenWorld, so it’s a minor event than in previous years.
• Oracle appeals to Google, claiming that Java, as used in the Android SDK, infringes its copyright.
- IBM has left the Apache Open Source Harmony project and is dedicated to Open JDK supported by Oracle. Although IBM’s Sutor says that this step will help “unite Java’s open source efforts,” it seems to be done without consulting Apache, and is shared as a collector.
- Apple disappears Java and does not develop Mac-specific JVM, this should be seen in context. Apple is reluctant with runtime of any kind, remembers its war against Adobe Flash and seems to look forward to the day when all or most of the apps that are delivered to Apple devices through the app store are charged and verified by Apple. In the field of mitigation, Apple is working with OpenJDK and OpenJDK has been announced for Mac OS X.
- Apache wrote a highly written blog stating that Oracle “violates its contractual obligation as laid down in the JCP rules”, where JCP is Java Community Process, a group of multiple vendors responsible for the Java specification but in that Oracle / Sun has special fat carpets. The complaint by Apache is that Oracle impedes Harmony’s progress by refusing to supply the Java Test Kit (TCK) under a free software license. Without the test kit, Java Harmony compliance can not be officially verified.
- The JCP has not been happy with Java Oracle for some time now. Many members disagree with Google’s lawsuit and find that Oracle did not communicate well with the JCP. The JCP member, Doug Lea, retired and claimed that “the JCP is no longer a credible unit of specifications and standards.” Another member, Stephen Colebourne, has a series of blog posts about the big Java war and what he calls “unraveling the JCP”, and he recently expressed his opinion that Oracle tried the recent elections of the JCP.
To relate this bad news, Java was not really in a good shape, even before the acquisition. While Sun was friendlier with open source and collaboration, the PCJ was long considered to be too slow to develop Java and not representative of the Java community in general. In addition, Java’s reputation is reduced as a general multiplatform execution time. As a browser plug-in was behind Adobe Flash, the JavaFX initiative could not get broad support for developers, and on mobile devices it also lost ground. The advance of Java as a language has been too slow to keep up with Microsoft’s C.
There are a number of ways to see this.
One of them is to claim that bad news followed by more bad news means that Java becomes a kind of COBOL, used forever, but not in the forefront of anything.
The other is to argue that, as Java is already lagging behind, a radical change in the way it is being treated can really make things better.
Mike Milinkovich of the Eclipse Foundation takes a pragmatic picture of a recent publication. He admits that Oracle has no idea how to communicate with the Java community, and that the JCP is not a neutral provider, but says that Java can still flourish:
I think many people confuse the neutrality of the JCP provider with its effectiveness as a specification organization. The JCP is never and never will be a neutral organization in terms of suppliers (to Apache and Eclipse), and anyone who thinks that has remained deceived. But it has been effective and I think the climate will be effective.
It seems to me that Java will be managed differently after it has come out of its crisis, and that on the scale between “open” and “patented” it has been directed towards its own business, but not in a way that the basic Java proposal of Free development destroys the kit and the execution time. It is also possible, even probable, that Java language and technology will be faster than before.
For developers who are wondering what will be done technically with Java, the best guide is still the JDK Roadmap, published in September. Some of the key points:
• Open Source Open JDK forms the basis for Oracle JDK.
- Oracle JDK and Java Runtime Environment (JRE) will continue to be available as free downloads, without changes to existing license models.
The new features suggested for JDK 7 include improved support for dynamic languages and simultaneous programming. JDK 8 gets the expression Lambda.
Although I can not predict the result of Oracle versus Google or even Apache against Oracle, I suspect that there will be a solution and that the impetus of Android will not be affected.
Having said that, there is little evidence that Oracle has the vision that Sun ever had, of making a truly ubiquitous Java and a defense against the blocking of the company’s proprietary operating systems, Microsoft also seems to have lost that vision for .NET and Silverlight, although Mono-folk has it. Adobe still has it for Flash, although Oracle seems to retract from open source.
Therefore, it is only possible that the Java (and Silverlight) problems are good for .NET, for Mono and for Adobe. However, 2010 was a bad year to write: run somewhere.