With the theme of moving Java forward, Oracle will launch the latest version of Java-Java 7-on July 28.
Ironically, although Java 7 is the first major Java revision in about five years, the changes in the language and platform are more evolutionary than revolutionary, Java experts say-including Mark Reinhold, chief architect of the Java Platform group at Oracle.
Yet the new moves are welcome by Java developers the world over, as Oracle demonstrated in a Webcast that ran more than four hours. “Java 7 is the most anticipated release ever,” said Bruno Souza, president of SOUJava, a Brazilian Java User Group.
In essence, Java is movin’ on up, but perhaps more in the mode of The Jeffersons’ George and Weezie as opposed to the more revolutionary moving up Curtis Mayfield & the Impressions touted in “We’re a Winner.”
Progressing the language became difficult as Java was plagued by political and market unrest, first at Sun and then at Oracle after its acquisition of Sun. The Java Community Process, which governs the progress of Java, was rife with infighting and accusations of favoritism by Sun and then Oracle. And “Moving Java Forward” became a mantra at Oracle, as if to say, “It’s ours now and we’re going to take it forward no matter what.”
“Java 7 is the release everybody has been waiting for, for quite a long time,” said Ben Evans of the London Java Community. Evans, who also is the LJC’s representative on the Java SE/EE (Java Standard Edition/Enterprise Edition) Executive Committee, added that Java 7 is “an enabler” that will give developers more options for building better Java applications-particularly in London’s financial sector, which relies heavily on Java apps, he said.
“The most significant thing is the fact that we’re shipping,” Reinhold said. “It’s been almost five years.”
Meanwhile, Adam Messinger, vice president of product development at Oracle, said Java has been at Oracle for 18 months since the company acquired Sun and Java is in good hands. Acknowledging that Oracle is “standing on the shoulders of giants” with Java, Messinger noted that Oracle is investing heavily in Java by putting together “the largest team ever” to work on the language and platform by combining the HotSpot and JRockit teams. Messinger also said Oracle is working to continue to build out the Java community and has moved to make the JCP (Java Community Process) more open.
“Java is strategic to Oracle; we’ve got skin in the game just like all of you do,” Messinger said to an audience of Java developers during Oracle’s Webcast.
Java 7 brings several new features to the platform, including Project Coin, also known as Java Specification Request 334: Small language enhancements. The project consists of a set of small language changes intended to simplify common, day-to-day programming tasks. The Project Coin language changes enhance developer productivity and reduce the amount of code needed to do certain tasks. Key Project Coin features include the diamond operator, try-with-resources and strings in switch.
With the new InvokeDynamic feature, Oracle has enhanced support for dynamic languages such as Ruby, Python and JavaScript to run on the JVM (Java Virtual Machine). InvokeDynamic enables these languages to run with greater performance on the JVM.
Alex Buckley of the Java Platform Group at Oracle said Java 7 represents “the first time we see the JVM set its own course.”
The JVM was obviously designed for Java, and “all the invocation modes are organized around Java semantics,” said John Rose, an Oracle engineer who headed up the InvokeDynamic effort. “But we add one more mode for other languages,” he said. InvokeDynamic adds “low-level support and a stronger undergirding for other language features” on the JVM.
JDK (Java Development Kit) 7 also features a new API for parallel programming or building applications for multicore systems. The new Fork/Join Framework enables developers to break down problems into subtasks that can be executed in parallel across a number of processors. And Java 7 also adds a new I/O for working with different file systems, new networking and security features, and backward compatibility with other versions of the platform.
Meanwhile, from an industry observer’s perspective, Al Hilwa, an analyst with IDC, said:
““The three big things from a feature perspective here is the multicore support with Fork/Join, the support for dynamic languages and the new file-system API. All these have been on the drawing board for some time, so it is great for Java developers to finally see them happen. One important message that comes through from all that has transpired around Java over the last year and a half is that Oracle appreciates the value of Java and will move it forward through solid investment. This has to be a great relief for the community.”“
Support for dynamic languages also resonated with Mik Kersten, CEO of Tasktop Technologies and creator of the open-source Mylyn project. However, Kersten said he believes the bulk of the updates coming in Java 7 are too incremental for most developers to get excited about. Yet, this is a positive indicator of Java’s dominance in the enterprise, which demands slow and steady change, he said.
However, “What is noteworthy is the changes in Java 7 that embrace innovations beyond the Java language,” Kersten said. “The -invokedynamic’ instruction promises dramatic performance improvements for dynamic languages like Groovy and JRuby. The new Fork/Join framework will help the implementation of functional languages including Clojure and Scala. Where a decade ago we had to jump through major hoops to create AspectJ on top of the JVM, these new Java 7 features will help the JVM continue to establish itself as the leading runtime for programming language innovation.”
Oracle Launches Java 7 as Innovation Sprouts From the Community, Others
title=An Issue of Innovation}
The issue of innovation in Java has been a topic of discussion and debate for some time now. Many observers say the incumbents-Oracle/Sun, IBM and Red Hat/JBoss-are no longer running the show in terms of Java innovation and that others, including several newer, smaller companies, are pushing innovation. In fact, many believe Oracle and IBM are content with incrementally pushing enhancements to the platform and enjoying the spoils of the enterprise space where Java appears to be winning over .NET. Last year’s Oracle and IBM deal around OpenJDK signaled how cozy the two companies have become.
Meanwhile, innovation is still happening from the outside of that cabal, with notable contributions coming from the activity of smaller vendors and startups around dynamic languages built on the JVM, the area of development integrated with operations or “devops,” and Agile development and ALM (application lifecycle management). VMware’s SpringSource has been pushing the Java innovation envelope in a variety of ways.
There has also been innovation on the PaaS (platform as a service) front, with technology such as VMware’s CloudFoundry, Amazon’s Elastic Beanstalk, and offerings from CloudBees and others getting into the fray with new runtime environments for Java.
Rod Johnson, general manager of VMware’s SpringSource division, told eWEEK: “Most of the innovation in the Java world is coming from outside the traditional incumbents. And these days just about all innovation in Java is in open source. I think the evolution of the Java language in Java 7 and 8 is sound: real benefits without disruption. Just as with Java 5, I think applications will become that bit simpler and more elegant.”
Johnson ought to know a bit about innovation. He developed the Spring Framework, an enterprise Java development framework that caught on with developers so much that Johnson’s Interface21 startup (later renamed to SpringSource) drew the attention of several bidders, with VMware coming out victorious.
However, it’s not just about the language, Johnson says. Java is strong because of the JVM, the class libraries and the frameworks that help people do useful work, he said. “Increasingly, I think we’ll see innovation tend to come higher up the stack, where there’s more leverage,” Johnson said. “For example, Grails and Spring Roo don’t just provide a framework; they help developers while they work, in a similar way to Rails.”
Moreover, Johnson said he believes the industry will see a lot of movement in how the Java ecosystem works with emerging technologies. “For example, how to talk to nonrelational databases and how to write applications that target today’s proliferation of nontraditional client devices, which communicate to the server differently,” he said. “And, of course, an increasing number of Java applications will be targeted toward PaaS.”
While some view enhanced innovation as what is needed for Java to continue to thrive, others say a steady hand is probably what Java needs most.
“Oracle has had a major impact on Java,” said Mike Milinkovich, executive director of the Eclipse Foundation, which provides popular tools for Java developers.
Indeed, Milinkovich breaks down Oracle’s contribution to Java:
““First, they have invested in the Java platform development team and in the engineering resources to build, test and release a major platform like Java. That is absolutely key for a mature enterprise software platform such as Java. Second, they have provided stability and leadership for Java. They can be criticized for some of their decisions since taking over Java, but there is absolutely no doubt what the rules are, who’s in charge and where they’re taking it. During the last couple of years of Sun’s existence, those attributes were sorely lacking. That clarity is having positive effects on the Java ecosystem, as SAP’s recent decision to join and contribute to OpenJDK clearly shows.”“
The Eclipse Foundation also has had an impact on Java over the past couple of years, Milinkovich said. Eclipse has been directly involved at the governance level of both the JCP and OpenJDK. And on the technology side, “Eclipse remains the ubiquitous tooling platform for Java developers, and our recent Indigo release has some of the coolest new features in years,” he added.
IDC’s Hilwa agrees that Oracle has brought balance to the Java landscape. According to Hilwa:
““In many ways Java has been rescued from stagnation. The JCP process had gotten overly political, and the beginnings of the split with Android took roots in Sun’s last year of custody of Java. Oracle brought a no-nonsense attitude to managing Java, pragmatically splitting the features into two new releases, one of which has already shipped. It cleaned up the work around JavaFX, and perhaps unexpectedly kept investing in NetBeans and GlassFish. Overall, it is a good story and they have made progress. Oracle managed to rally everyone around JDK, including IBM, Apple and Red Hat. One of the victims has been the loss of Apache from the JCP, but I have a feeling that over time that rift might get repaired.”“