Oracle scales back plans for Java 8
Cuts out Jigsaw, aims for two-year release cycle
Oracle is moving to drop a major component from its upcoming Java 8 release, in an effort to get the flagging Java development process back on track.
The component, known as Project Jigsaw, was an addition to the language that would have allowed Java developers to write and distribute programs as modules. It would also have made it easier to scale the Java platform to more types of hardware, ranging from large servers to small embedded devices.
On Tuesday, Mark Reinhold, chief architect of the Java platform group at Oracle, wrote in a blog post that despite repeated promises that Project Jigsaw would be included in Java 8, it is no longer feasible to have the technology ready in time for that version's planned September 2013 ship date.
"Steady progress is being made, but some significant technical challenges remain," Reinhold writes. "There is, more importantly, not enough time left for the broad evaluation, review, and feedback which such a profound change to the Platform demands."
Java 8 is already running late. The original plan was to ship it in 2012, but Oracle revised that date at its JavaOne conference in October 2011. At the time, Project Jigsaw was still hailed as one of Java 8's major features.
Because development of the Java platform is a community-based process, any decision to drop Project Jigsaw from Java 8 will have to be approved by the Java SE 8 Expert Group. Given Reinhold's stature in the community, however – not to mention Oracle's overwhelming influence over it – his recommendation is likely to carry a lot of weight.
If the move is approved, it will be a significant step backward for Java 8, which Reinhold once touted as a "revolutionary" update to the platform.
It will also mean that the Java language won't have a built-in module system until Java 9 at the earliest, which isn't scheduled to arrive until September 2015.
Reinhold says that dropping Project Jigsaw from the Java 8 release will allow the community to concentrate on finishing the other new features that are scheduled for that version, such as Project Lambda, which will add useful programming constructs called "closures" to the Java language.
The Java community is getting used to such promises, however. It took five years to bring Java 7 to market, and it, too, shipped without some of the more ambitious technologies proposed for it. At the time, Reinhold himself admitted that Java 7 contained "no really earth-shattering, ground-breaking kinds of features."
The other important benefit of dropping Project Jigsaw from Java 8, Reinhold says, is that it will allow the Java community to regroup and concentrate on maintaining a predictable release schedule. To that end, he proposes that JDK development be moved to an explicit two-year release cycle.
"If a major feature misses its intended release train then that’s unfortunate but it’s not the end of the world: It will be on the next train, which will also leave at a predictable time," Reinhold writes.
That will likely be a welcome change for the long-suffering Java community, many of whom have grown frustrated with Java's seeming inability to evolve to suit the latest programming features and techniques. And who knows? A new Java release every two years might even help the language shrug off the ever-more-frequent comparisons to Cobol.
"Deferring Project Jigsaw to 2015 is by no means a pleasant decision," Reinhold writes. "It does, however, appear to be the best available option." ®
Not really the end of the world
Considering that Java is now a dull, enterprise back-end kind of language, coded in by boring enterprise guys like myself, who cares that development of the language moves at the speed of tectonic plates? I mean, the application I'm co-developing just moved from Java 5 up to Java 6, and that only as a required platform; half the code has not been updated since Java 1.3. Enterprises sure ain't waiting for rapid development cycles; they want solid, bug-free (asif) software.
I know Java isn't sexy, it isn't what the script kiddies like, and it's not at the bleeding edge of computing either, but by-and-large it gets the job done, and it gets an awful lot of jobs done these days.
Re: "You can always use Clojure"
"Java 8 looks like a pretty sound dev platform to me, and its about time too; there was something fundamentally wrong about a language designed to replace C++ lacking a raft of features that C++ has had for a few years,"
It was only ever Java-only coders who thought it would replace C++. For those of us who use C++, java is simply the rather noisy, show off younger brother who'll might tidy his room up occasionally (usually at an inconvenient time for everyone else) without being explicitly told to do it , but other than that is slow and inadequate at pretty much everything he's given to do.
Re: Not really the end of the world
Apparently Java SE 5 ran out of "public" support in 2009, with Java SE 6 going in November 2012. We'll be upgrading soon ourselves. To 6.
Of course there are other support options, and indeed other incarnations.
Java 8 evidently arrives in 2013 - they hope.
Our manager thinks Java 7 still has too many bugs for us, but I wonder if he understands that a tool like this -always- has -some- bugs, and most of them we won't ever touch. Nobody does. That's why they are still bugs.