ISBN: 8882335666
Autori: Antonella Ficini, Antonio Ghu
Editore: Edizioni FAG
Lingua: Italiano
Anno: 2006
Pagine: 248
Allegati: Nessuno
Si è rivelato davvero una bella sorpresa questo testo introduttivo facente parte del
pacchetto acquisito da J. Group. Riveduto, corretto e lanciato sul mercato con una migliore veste grafica, il testo di Ficini e Ghu (due autori che mi auguro entrino presto nella
scuderia della FAG) è davvero aggiornatissimo. Uscito a settembre 2006, tratta il JDK 1.5.0_08 e NetBeans 5.0, ed accenna addirittura ad Eclipse 3.2, pur senza parlarne mai in dettaglio.
L'editing è stato dettato dai tempi di mercato ed è presente qualche fastidioso refuso, ma questo non guasterà di certo l'ottima valenza didattica del testo che, anche se ha un taglio introduttivo, riesce a spiegare gli argomenti in maniera semplice, ma mai banale, ricorrendo continuamente ad esempi che, a differenza di tanti testi
accademici, prevedono l'uso dell'IDE scelto invece del Blocco Note. Fa da filo conduttore l'esempio della calcolatrice scientifica, in ultima analisi un parser di espressioni elementari, della quale viene fornita nell'ultimo capitolo una versione con interfaccia grafica. Il libro dà il meglio di sé, naturalmente, quando viene introdotta la programmazione Object-Oriented, che paradossalmente riconduce l'arte dello sviluppo a paradigmi tratti dal mondo reale ma è spesso spiegata male, malissimo, tanto da indurre molti a credere che essa sia ben più difficile ed astrusa di quella strutturata.
Nonostante sia stato scritto da due ovvi
entusiasti di Java, questi hanno dimostrato sufficiente professionalità da non nascondere le assurde e caotiche debolezze nella tipizzazione operata dalla JVM, in special modo nell'allocazione di memoria per i tipi al variare del sistema operativo, che minano alla base la pretesa
portabilità di questo linguaggio; né è stato possibile celare il pernicioso artificio di considerare come
int tutti i letterali, la sostanziale inutilità del meccanismo di
garbage collection, o l'aleatoria casualità del principio di gestione dei blocchi per i thread, altro meccanismo dipendente dall'implementazione della macchina virtuale e che, pertanto, fa sì che tanto codice scritto in questo linguaggio pomposamente venduto come
portabile vada semplicemente in crash al minimo cambiamento della piattaforma.
Chi vuole o è costretto ad usare questo linguaggio, potrà comunque accostarvicisi con fiducia dopo lo studio di questo testo, che non manca nemmeno di esprimere alcune considerazioni pratiche sullo spreco di risorse causato dalla propagazione delle interfacce, un meccanismo introdotto per cercare di
far rientrare dalla finestra i pochi vantaggi dell'ereditarietà multipla di C++, ma che si rivela perdente rispetto alla catena di ereditarietà pura.
Viene posta la dovuta attenzione al ricco namespace
java.lang, mentre la parte finale è focalizzata sulle applet, sul loro ciclo di vita e sulla loro programmazione ad eventi. Fra le tante cose belle del testo spicca un meraviglioso paragrafo sulla sincronizzazione fra thread con l'uso dei monitor di risorse. Un breve penultimo capitolo è dedicato all'uso di NetBeans, con un opportuno paragrafo sul debugging. La scelta di concentrarsi, per le interfacce grafiche, sulle ormai troppo vecchie classi AWT (scritte peraltro in codice specifico per la piattaforma, ed abbandonate da NetBeans stesso a partire dalla 3.6, abbracciando una scelta di progetto di Eclipse) fa sì che vengano trascurate le importanti novità delle ultime generazioni, prima fra tutte l'editor di interfacce grafiche
Matisse, interamente basato sul package
javax.swing.
Anche qui, però, il discente potrà ben presto aggiornarsi se comprenderà il meccanismo dei gestori di layout, basati sull'interfaccia
LayoutManager. In conclusione, è il tipo di testo che consiglierei ad un neofita.

Un libro a carattere introduttivo, ma davvero ottimo nel taglio didattico, che usa strumenti di ultima generazione, ed introduce argomenti che saranno utili anche dopo la fase di apprendimento, nella pratica professionale.

Manca un indice analitico, e vi sono alcuni refusi fra cui, clamoroso, quello a pagina 222, che promette di parlare dell’
Import management tool di NetBeans, quando poi nel seguito non viene nemmeno accennato.