Imparare Java
di Pino Navato
 

Il logo ufficiale di JavaMai prima d'ora un nuovo linguaggio di programmazione è diventato popolare in così poco tempo come è accaduto con Java.  La sua forza sta nel fatto che i programmi Java possono essere utilizzati con tutti i moderni sistemi operativi senza che sia necessario modificarli né ricompilarli; questo ne ha fatto lo strumento privilegiato per la distribuzione di contenuti dinamici sul web.
Java e il WWW hanno più o meno la stessa età, quindi Java non è stato ideato pensando esplicitamente al web tuttavia viene usato soprattutto per scrivere applet cioè programmini fatti per essere inseriti in una pagina web.  Il successo di Java nell'ambito di Internet ha portato alla nascita di JavaScript, una versione molto semplificata di Java le cui istruzioni si inseriscono direttamente nei file html.

In questo articolo prenderò in considerazione due libri su Java e JavaScript estremamente diversi per target e contenuti: il primo è Java - Guida alla programmazione pubblicato da Tecniche Nuove, l'altro è Java For Dummies edito da Apogeo.
 

Java - Guida alla programmazione

La copertina del libroJava - Guida alla programmazione è un libro dallo stile accademico (si potrebbe usarlo come libro di testo in un corso universitario) che si rivolge a programmatori già esperti in altri linguaggi, preferibilmente in C++, il linguaggio dal quale è stato derivato Java.  Nel testo, abbastanza corposo, vengono affrontati tutti gli aspetti di Java e del Java Development Kit (presente nel CD-ROM allegato) in modo esauriente e con l'ausilio di un gran numero di esempi.
Il libro è diviso in 8 parti per un totale di 40 capitoli e 4 appendici.  Vediamone, in breve, l'organizzazione.

  • Parte I - Introduzione a Java
    Una presentazione delle caratteristiche di Java e dei programmi che compongono il JDK.
  • Parte II - La programmazione in Java
    Si parte con il classico Hello, World! e si arriva, un po' per volta, alla gestione delle eccezioni, al multithreading, al debugger.  Otto capitoli densi di nuove nozioni.
  • Parte III - Uso del'API di Java
    Un'ampia panoramica dei vari pacchetti standard forniti dalla Sun.  Non sostituisce la documentazione ufficiale dell'API.  Molte classi vengono illustrate con dei brevi esempi incentrati sui metodi più importanti.  Particolarmente interessante il capitolo 17 dedicato al pacchetto java.net.
  • Parte IV - Programmazione di finestre
    Si inizia con un semplice Hello, Windows! e si affrontano, un capitolo dopo l'altro, tutti gli aspetti relativi alla creazione di una GUI.
  • Parte V - Programmazione di rete
    I quattro capitoli di questa parte del libro si riallacciano a quello sul pacchetto java.net e ne approfondiscono gli aspetti mostrando semplici esempi di programmi di rete (un client Telnet, un client e-mail, un server SMTP, un server web e altro ancora).  Ovviamente le funzionalità di questi programmi dimostrativi sono ridotte all'osso per non complicare inutilmente la trattazione, tuttavia sono molto interessanti e non mancano di stimolare la fantasia del lettore che vorrà subito cimentarsi nella creazione del proprio software per Internet.
  • Parte VI - Programmazione di web con applet e script
    Il primo capitolo sulle applet propone subito alcuni esempi visto che a questo punto del libro il lettore ha già una buona conoscenza di Java e le applet non sono altro che programmi Java.  Nei due capitoli successivi il discorso viene formalizzato e approfondito esaminando la possibilità di integrare applet in applicazioni distribuite.  Si passa poi a parlare degli script con la presentazione di alcuni esempi e la descrizione degli oggetti predefiniti di JavaScript.  Come si vede, questo libro, a differenza di altri, non è incentrato su applet e script: la creazione di applet è considerata una delle possibilità offerte da Java e non il suo fine ultimo.
  • Parte VII - Estensioni di Java
    In questa parte del libro vengono descritte la Java Virtual Machine e la struttura dei file .class, la creazione di metodi nativi (ovvero l'uso di DLL scritte in altri linguaggi) e le caratteristiche di sicurezza di Java.
  • Parte VIII - Appendici
    Da non trascurare.  Troviamo una guida di riferimento rapido all'API di Java, un capitolo che evidenzia le differenze tra Java e C++ e un altro che affronta il problema del passaggio da C/C++ a Java proponendo argomentazioni pro e contro tale passaggio.

Il CD-ROM che accompagna il volume lascia a desiderare: oltre ai sorgenti presentati nel testo contiene solo il JDK e un po' di esempi di applet e script per un totale di appena 32 MB; manca la documentazione dell'API.  Tutto il software è in forma compressa e quindi richiede un'installaziopne su hard disk, una scelta davvero inspiegabile vista l'enorme quantità di spazio rimasta inutilizzata sul CD.  I testi presenti nel disco non sono stati tradotti in italiano.

Il CD-ROM, comunque, è l'unica parte debole di quest'opera; in conclusione possiamo dire che si tratta di un libro pressoché completo, ben scritto e ben tradotto.  L'unico argomento che non viene affrontato è quello delle estensioni apportate alla versione 1.1 del linguaggio (la v1.1 è successiva alla pubblicazione del libro) ma non mi sembra una grande lacuna.
 

Scheda del prodotto
 Titolo:
 Autore:
 Editore:
 Codice:
 Formato:
 Pagine:
 Prezzo:
 ISBN:
Java - Guida alla programmazione  
Jamie Jaworski   
Tecniche Nuove
03804
17x24 cm
700
89000
88-481-0380-4

 
Java For Dummies

La copertina del libroA differenza del libro precedente, Java For Dummies si rivolge a chi non sa programmare e, soprattutto, non vuole imparare a farlo.  Questo libro, infatti, non spiega la sintassi del linguaggio bensì mostra come utilizzare nelle proprie pagine web le applet e gli script già esistenti e reperibili su Internet oltre che sul CD-ROM allegato.  Un libro di 400 pagine può sembrare un po' eccessivo per un compito così banale ma il fatto è che l'autore si propone di spiegare le cose in modo molto graduale, con un linguaggio estremamente amichevole, ripetendo i concetti più di una volta ed evidenziando tutte le possibili difficoltà a cui si può andare incontro.
Per rendere il libro più amichevole ed informale, l'autore ha utilizzato una serie di icone (alcune sono mostrate in figura)Alcune delle icone che evidenziano le parti salienti del libro ed ha inserito anche alcune vignette umoristiche.  Numerosi gli indirizzi Internet, suddivisi in categorie (assistenza e FAQ, raccolte di applet, raccolte di script).

Anche in questo caso il CD-ROM che accompagna il libro non è stato tradotto in italiano sebbene su di esso campeggi una bandiera tricolore che induce a pensare il contrario.  Contiene 170 MB di materiale tra cui una raccolta di applet e script, i browser di Netscape e Microsoft (in versione inglese), alcuni classici come Paint Shop Pro e WinZip e altri programmi utili come un client FTP e un editor di audio digitale che supporta il formato AU richiesto dalle applet Java.  Sono presenti anche il JDK e la documentazione dell'API ma risulta difficile capirne l'utilità in questo contesto.  Infine troviamo un capitolo intitolato Customizing JavaScript (non è stato tradotto in italiano) che, stranamente, non ha trovato posto nel libro.
 

Scheda del prodotto
 Titolo:
 Autore:
 Editore:
 Codice:
 Formato:
 Pagine:
 Prezzo:
 ISBN:
Java For Dummies         
Aaron E. Walsh
Apogeo
423
19x23 cm
400
39500
88-7303-423-3

 
Un po' ingannevoli

Per concludere, una breve nota critica sulle descrizioni presenti nella quarta di copertina dei due volumi: in entrambi i casi c'è una frase un po' ingannevole che induce a pensare che i contenuti del libro siano più ampi di quello che sono in realtà.
Sul libro edito da Tecniche Nuove troviamo scritto: Il lettore, in particolare potrà [...] imparare tutto sull'API di Java.  In realtà nella terza parte del libro vengono sì presentate tutte le classi dell'API di Java ma senza elencare dettagliatamente tutti i metodi e i parametri di ciascun metodo; per queste informazioni l'autore rimanda alla documentazione ufficiale dell'API, non presente sul CD-ROM.
Il libro di Apogeo si spinge oltre affermando, sempre in quarta di copertina, il lettore imparerà tutto su Java!  Sarebbe stato più giusto dire tutto tranne Java.