JDK 7: punto della situazione…

9 09 2010

Proprio ieri Mark Reinhold, tramite un messaggio nella mailing list di sviluppo del JDK 7, ha chiarito la situazione post acquisizione Oracle, dello sviluppo della piattaforma Java. Ecco l’email:

It’s been clear for some time that the most recent JDK 7 development
schedule [1] is, to put it mildly, unrealistic.

We created that schedule over nine months ago, prior to the acquisition
of Sun by Oracle.  The post-acquisition integration process took longer
than any of us anticipated, unfortunately, but we’re now ready and able
to focus on this release with a larger (and still growing) staff which
will continue to work in the open alongside other contributors.

So, whither JDK 7?

Our present best estimate is that we could complete, test, and stabilize
the planned work in time for a release around the middle of 2012.

Looking at what’s in the forest today, however, much of that work is in
fact already done, or very nearly so.  The main outstanding items are
the Lambda and Jigsaw Projects, along with a few of the Coin proposals.
We’ve made a lot of progress on these features, and they now have more
Oracle engineers working on them than before, but significant work
remains to be done.

Another possibility, therefore, is to take everything we have now, test
and stabilize it, and ship that as JDK 7.  We could then finish Lambda,
Jigsaw, the rest of Coin, and maybe a few additional key features in a
JDK 8 release which would ship fairly soon thereafter.

This approach would give developers production-quality access to the
nearly-finished features sooner rather than later, and with much less
risk.  It would also allow more time to really shake out Lambda and
Jigsaw, which is critical given that these higher-risk efforts are
making deep changes to the very foundations of the platform.

Our current estimate for this “Plan B” is that we could ship a reduced
JDK 7 in mid-2011 and JDK 8 in the second half of 2012.

To summarize:

Plan A:  JDK 7 (as currently defined)                      Mid 2012

Plan B:  JDK 7 (minus Lambda, Jigsaw, and part of Coin)    Mid 2011
JDK 8 (Lambda, Jigsaw, the rest of Coin, ++)     Late 2012

(As always, our intent is that JDK 7 will ship concurrently with a Java
SE 7 JSR, and likewise for JDK 8 and Java SE 8, and also that there
will be JSRs for Lambda and Coin.)

Here at Oracle we’re leaning heavily toward the lower-risk Plan B.  The
platform has been idle for (more than!) long enough — it’s time to get
Java moving again.  If there are good reasons to prefer Plan A, however,
then I’d like to hear them.

– Mark

(potete trovarla nell’archivio pubblico della mailing list)

In sintesi, siccome l’organizzazione post-acquisizione Oracle ha preso più tempo del previsto rallentando lo sviluppo, ora bisogna scegliere tra due alternative per lo sviluppo della piattaforma Java:

  • Proseguire per la strada intrapresa completando i vari Jigsaw, Lambda e tutto il Coin Project facendo slittare il rilascio della nuova versione a metà 2012 (il cosidetto piano A);
  • Oppure fixare e ottimizzare il lavoro già fatto rinviando i sopracitati progetti alla versione 8 e rilasciando la 7 a metà 2011 (il piano B);

Detto ciò, sinceramente, sono daccordo con Mark Reinhold optando per il lower-risk piano B permettendo agli sviluppatori di godere delle prime succulenti novità, per poi focalizzarsi senza fretta su Jigsaw, Lambda e Coin, cambiamenti radicali che rivoluzioneranno la struttura della piattaforma e del linguaggio.