Java is the most successful development platform of all time, and is currently used by more than 17 percent of developers, according to last month's Tiobe Programming Community Index. However there is concern within the developer community that the Java platform is ageing, with some suggesting that Java could become the next Cobol.
According to Gil Tene, CTO and co-founder of Azul Systems, however, this is not the case. While he admits that the Java Community Process (JCP) has been stagnant in standardisation over the last five years, activity has picked up in recent months, and work is being done to standardise not just the current version of Java, but also future iterations of the platform.
The worries about displacement of this platform by something else will always be around, and if ever something much better comes along it should displace this. However, I haven't yet seen that something else yet, says Tene.
The power of standardisation
Azul Systems has built scalable Java Virtual Machines (JVMs) for the last nine years. A JVM is a layer that sits between the operating system and the application, to translate code and execute it on a specific operating system and a specific hardware. Azul is also an elected member of the JCP Executive Committee, which Tene describes as the “steward” of the Java platform.
Tene believes that one of the things that has made Java so successful are:
- the fact that it is strongly standardised
- the standard is also strongly policed
“Java has not fractured. There's a TCK (technology compatibility kit) that has verified that it really does work the same way, and when you ship a JVM, you know that Java programs will just run on it,” says Tene. “That was not a given 15 or 16 years ago. That's not how other platforms behave, and I think it's probably one of the biggest innovations the Java platform brought through.”
He explains that a lot of the efforts around standardisation are to ensure that additional languages are able to use the JVM platform. For example, Scala, which Tene regards as an up-and-coming force, runs on JVM and interacts with Java applications.
“Java the language may be ageing, but Java the platform is the thing that runs all modern languages. So when people talk about a language that will replace Java, that language will probably run on the same JVM,” he says.
Another reason for Java's success, according to Tene, is that Java developers only need to write code for the application they are developing, whereas in most other environments they also have to write software for all of the infrastructure supporting that application, including
- application server
- messaging system
“That power is immense,” says Tene. “Cobol never had that. C and C++ don't have it. Tuxedo back in the 90s had it to some degree, but Java completely displaced it because it's so much easier to use.”
Oracle has done the right thing... so far
When Oracle announced it was buying Java creator Sun Microsystems in 2009, many developers were worried that Oracle – which has a reputation for lock-in – would attempt to block access to Java. So far, however, Tene has seen no indication that Oracle is doing the wrong thing.
“Probably the biggest worry that people have is that Oracle will shut everybody out, and if you want to use Java, you will have to run on Oracle software and Oracle hardware, and pay Oracle money and nobody else,” he says.
“I don't think that's a realistic worry because Java is so prevalent in the industry that it would be really hard to actually do that and, more importantly, Oracle has done all the right things to show that they're not about to do that.”
Tene explains that Oracle has helped to make the Java Community Process much more active than it was before. It has also invited companies like Azul to join the JCP actively, to help guide the rules of licensing and engagement, and is looking to share power with stakeholders such as IBM.
The JCP's role is to steer the future of Java by selecting and approving standards. While the JCP cannot veto any of Oracle's decisions, the community as a whole does have power over Java, and if the majority of the community acts then it will have an impact, according to Tene.
“Oracle could potentially have said, screw the community – this is ours and we will do what we want with it. They have very clearly chosen not to do that,” he adds.
Tene still shares the worries of the rest of the industry that, just because Oracle seems to be doing the right thing now, does not mean it won't try to monetise Java in the future. However, he points out that Sun was a very altruistic steward of the Java platform, and arguably did not monetise it well enough.
“A lot of other people made a lot of money off the Java platform instead of Sun,” he says. “I think we need to find a balance somewhere in the middle. We have access now, and we'd like to make sure that access continues.”