La collana
DigitalLifeStyle delle Edizioni FAG si arricchisce di questa guida scritta da
Dario Guadagno per chi vuole iniziare la programmazione Java utilizzando in particolare l'attuale ultima edizione del JDK, e preferibilmente NetBeans come ambiente di sviluppo.
Il manuale costituisce a mio avviso un buon
punto di partenza per chi vuole avere un quadro generale di conoscenze all'interno del quale muoversi con una certa sicurezza, ricorrendo alla pratica per raggiungere questo obiettivo; nel corso dei dieci capitoli è proposta una
applicazione di esempio, che viene a mano a mano aggiornata e migliorata.
Dopo una rapidissima introduzione (due facciate), nella quale viene indicato anche il collegamento al
sito del libro, dal quale si può scaricare il codice sorgente degli esempi proposti, si parte nel
primo capitolo con la
cassetta degli attrezzi, ovvero l'installazione degli strumenti di sviluppo o SDK Java, e di NetBeans. L'ultima sezione del capitolo spiega come realizzare la prima classica aplicazione
Hello World con l'IDE appena installato.
Il
secondo capitolo introduce i concetti principali della
programmazione a oggetti tramite semplici esempi presi dal mondo reale, che poi vengono applicati alla progettazione dell'esempio guida di questo testo, il traduttore dall'italiano all'inglese e viceversa. Ovviamente queste tematiche necessitano di ulteriori approfondimenti, e soprattutto di essere messe in pratica con l'esperienza a partire proprio dalla lettura attiva del testo.
Nel
terzo capitolo, dedicato alle
basi del linguaggio, si parla dei
tipi di dati predefiniti e composti, degli operatori, del controllo di flusso, delle classi e relativi livelli di visibilità, e delle interfacce. Gli argomenti vengono introdotti e ben spiegati, anche se il livello di approfondimento delle ventidue pagine che formano il capitolo non può essere elevatissimo. Per quanto riguarda la pratica, nell'ultima sezione del capitolo vengono create due classi Java per la definizione delle voci presenti nel traduttore e del vocabolario che le contiene.
Il
quarto capitolo è dedicato all'
interfaccia grafica di Java, ed espone il funzionamento di
AWT e
Swing proponendo esempi semplici. L'applicazione pratica è costituita dalla creazione dell'interfaccia grafica per programma di traduzione, che prenderà vita nel seguito del testo a partire dal
quinto capitolo. Qui vengono introdotti alcuni argomenti importanti e non banali come la
programmazione concorrente, gli
eventi e la
gestione degli errori. L'applicazione di esempio al termine di questo capitolo è completa e praticamente pronta per partire, e se ne potrebbe effettuare la distribuzione andando a prelevare dalla cartella
dist del progetto il file JAR, dopo aver eventualmente aggiunto file necessari come quelli delle immagini di avvio.
Il
capitolo sesto somiglia un poco a un tuffo nel passato, dal momento che si occupa di
applet: si tratta delle applicazioni eseguite nel browser, che hanno contribuito molto alla diffusione di Java negli anni Novanta, ma furono poi abbandonate, o quasi, cedendo il passo ad altre tecnologie più leggere. La parte pratica del capitolo prevede appunto la trasformazione del programma appena rilasciato in applet modificando la
View e lasciando invece invariati i componenti
Model e
Controller dell'applicazione.
Il
settimo capitolo è dedicato alla
grafica 3D e ai
controlli avanzati, che permettono, tra le altre cose, l'esecuzione di file multimediali. L'esercitazione pratica relativa a questo capitolo riprende l'applet realizzata nel capitolo precedente aggiungendo un effetto sonoro all'uso dei pulsanti di traduzione.
Con il
capitolo otto si apre una finestra sul mondo delle applicazioni web, che comincia con un cenno ultraveloce ai linguaggi per il browser e prosegue adeguando l'ambiente di sviluppo alle nuove funzionalità richieste. Gli esempi del libro vengono eseguiti all'interno di NetBeans utilizzando Tomcat come
servlet container. Al termine del capitolo il programma traduttore viene riproposto come web application.
Il
nono capitolo è dedicato in generale alla
persistenza dei dati, che si può realizzare in almeno due modi: si comincia usando la classe
File per l'accesso alle risorse del sistema, e si conclude con l'uso di un database, nello specifico MySQL. Le spiegazioni pratiche abbondano e riguardano sia l'uso delle classi Java, sia il download e la configurazione di MySQL e phpMyAdmin, o magari di
XAMPP, e del database embedded
Derby. La modifica all'applicazione che conclude questo capitolo riguarda il caricamento da database delle voci del vocabolario.
Il
decimo capitolo, che conclude il libro, si concentra sul
futuro di Java, espone in poche pagine le principali novità della versione 7 della piattaforma e poi anticipa sinteticamente alcune delle aspettative relative alla prossima versione, la otto, come ad esempio il supporto per le espressioni lambda o un migliore supporto per il multicore.

Introduzione di tutto rispetto anche se piuttosto sintetica, che spazia dalla programmazione desktop a quella di rete passando per le applet.

A parte un dubbio sulle applet, forse sarebbe utile approfondire gli aspetti legati alle specificità di Java 7 rispetto alle precedenti versioni.