Tiger, Mustang e Dolphin

Tiger, Mustang e Dolphin

Java 1.5 è stata una rivoluzione copernicana del linguaggio di casa Sun. Il progetto Tiger ha portato numerose novità per i programmatori Java, molte complicazioni per chi inizia e 23 incompatibilità dal codice prodotto per la versione precedente (1.4.2).

Novità assolute di Tiger sono:

  1. i tipi enumerati: come le costanti numeriche del preprocessore di C;
  2. le annotazioni: sono flag personalizzabili per eventuali controlli statici del codice;
  3. le classi e le interfacce generiche: sono classi che hanno nella dichiarazione alcuni parametri, che devono essere specificati per personalizzare il comportamento dell'istanza della classe (Collection e sue derivate, Iterator e Class sono stati convertiti a classe generica);
  4. le conversioni automatiche tra tipi primitivi (int, boolean, double...) ai corrispondenti wrapper (Integer, Boolean, Double...) e viceversa, chiamati Autoboxing e Unboxing;
  5. il nuovo controllo for-each: "for (elemento : collezioneOArray){...}" permette di saltare a pié pari l'uso dell'Iterator.
  6. l'import di membri e di metodi statici: le costanti come PI potranno essere scritte semplicemente come PI invece di ripetere anche la classe in cui sono contenute (ovvero Math.PI) e forse vedremo scomparire System, visto che in fondo lo si usa per le sue variabili statiche (out, err ed in).
  7. il varargs: anch'esso portato da C permette di avere metodi con un numero variabile di parametri in dichiarazione e recuperabili da un array. E' stato subito trasportato anche la stampa con stringa di formato, cioé printf di C.

Il progetto Mustang, di cui è stata rilasciata la prima beta e che porterà alla Java 1.6, ha sostanzialmente lo scopo di raggruppare il core con i vari progetti satelliti che negli ultimi anni sono stati sviluppati per far fronte alle novità dei Web Services e Smart Card, per dirne due. Verrà quindi inglobato il pacchetto ora chiamato Java Web Services Development aggiornato. Di questo fate ben attenzione a JAXB 2.0, sconsiglio vivamente di mapparci un database per il collegamento ad Hibernate, a meno di cambiamenti dalla versione precedente. Ci sono altre soluzioni opensource meno macchinose. Novità che dovrebbe portare la 1.6 è il totale supporto ed interpretazione di JavaScript e PHPscript all'interno del codice.

In parallelo, la Sun ha avviato anche lo sviluppo del progetto per la versione 1.7, denominato "Dolphin". Le specifiche non sono ancora uscite e penso che sia il momento giusto per dare il proprio contributo nel migliorare Java in vista del 2009.

Urlate a gran voce: "VOGLIAMO LE PROPERTIES!"

Inoltre io mi sono stancato di programmare in modo lineare e sperimenterei volentieri una programmazione strutturata ad albero, con chiamate a metodi che si diramino da uno stesso oggetto senza dover riscrivere l'oggetto.