Channels ▼
RSS

JVM Languages

Java Reloaded


What a difference a year makes! Twelve months ago, the world of Java was beset by fear and uncertainty. There was grave concern about Oracle's takeover of the language via its acquisition of Sun Microsystems. Many people wondered how committed the company was to the forward progress of the language. And given the Oracle's initial ham-fisted handling of several developer communities (such as Open Solaris and the Hudson project), there was a pervasive feeling that the company could easily ruin the language through either neglect or, more likely, by pursuing its own agenda so aggressively that it would destroy the existing Java community. The then-recent lawsuit against Google only furthered these concerns.

So, as last year's JavaOne conference rolled around, there was considerable concern about how big the show would be, whether anyone would care, whether it would be the last show, and so forth. The uncertainty was heightened by Java parent James Gosling's campaign to have attendees wear T-shirts that assailed Oracle. The campaign fizzled; JavaOne went forward — but at a conspicuously diminished size and with almost no buzz. It was a dark, lifeless event.

From this nadir, things have rather unexpectedly moved upward and forward. In July, Oracle released the long awaited Java 7. Despite notable execution lapses, this release delivered important under-the-hood features that make the JVM an attractive platform for new languages. The details were presented at a packed Oracle JVM Summit Conference this summer, along with schedule details for Java 8 and Java EE 7. This much information was considerably more than Sun offered during the final years of ownership of the platform. (Note: It took five years — four of those under Sun's aegis — for Java 7 to ship.)

This year's JavaOne conference, held last week in San Francisco, continued the buzz. The show and conference were significantly larger than last year, and there was far more electricity in the crowd than in the past two years. In part, this was due to Oracle's announcements about features and revised dates for the upcoming releases, the unveiling of a significantly better version of JavaFX, the elaboration of a new process to put Java apps on the iPad, and the company's plans for overhauling the Java Community Process (JCP). For the first time in a long time, attendees had reason to listen and good reason to believe. Oracle committed to progress on many fronts; it had specific plans; and the plans made sense. (Eric Bruno captured details of these announcements in his blog.)

To me, the most suprising of the announcements was certainly the reworked JavaFX 2.0. When Oracle acquired Java, JavaFX was viewed as a moribund technology — interesting, well implemented in parts, but so poorly marketed that it would never gain traction. To everyone's surprise, Oracle CEO Larry Ellison committed publicly to JavaFX in his very first speech after the acquisition of Sun. This support sounded then (and even in retrospect) like an extravagant promise that would quickly be forgotten. However, the company rearchitected JavaFX from top to bottom: It got rid of the scripting portion, refurbished the APIs, and made the product far easier to use. In addition, it anointed JavaFX as the client interface product of choice for Java going forward. That is, it takes over from Swing, the expansive, but little loved, amalgamation of interface toolkits and APIs that has been Java's client development framework for a decade. JavaFX might be one of the primary beneficiaries of Oracle's announcement that it will get Java apps on iOS (by integrating a shrunken-down JVM in the app). Either way, columnist Eric Bruno will shortly begin a series of deep dives into JavaFX 2.0.

Another long-needed change Oracle announced was a top-to-bottom reform of the Java Community Process (JCP). The JCP was instituted by Sun in response to pressure from the community of users to participate in Java's future growth. Despite this provenance, the JCP was formed of committees comprising self-appointed experts who were interested in adding some piece of functionality to the Java platform or the libraries, generally at the behest of their employers. The JCP documents were obscure, the committee activities unclear, and the whole system had the feel of a series of fiefdoms, working in anarchy, with a few reaching the tipping point of proposal adoption. Many committees were stillborn, while others died from atrophy, often as the result of a change of course by the primary sponsoring company.

Oracle is cleaning this up. JCP projects will begin using publicly visible mailing lists for all communication, and they'll make test code available to all interested parties. I'd like to see more done, but this is an excellent start at making the JCP more transparent and, I hope, participatory and useful.

Between the clear articulation of features and calendars, delivery on the commitment to JavaFX, solving the iOS problem, and providing new transparency to the JCP, the collective feeling last week was that Oracle is moving Java very much in the right direction.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video