Thinking in Java recensione di Roger Cassatella
Titolo: Thinking in Java - seconda edizione, 2000
Autore: Bruce Eckel Editore: Prentice Hall
ISBN: 0-13-027363-5
Prezzo: 44.99 USD
Pagine: 1128 pp + CDROM
Lingua: inglese.
Rilegatura: brossura.
Ogni tanto mi domando: qual è lo scopo di un libro spesso e di conseguenza pesante, forse da maggior sicurezza nell'acquisto?
Se ci sono più pagine, ci saranno più contenuti e quindi più esaustiva sarà la trattazione.
No, ahimè, spesso c'è solo la scomodità di non poterlo leggere se non poggiati sul piano della scrivania.
Se poi aggiungiamo l'utilizzo di caratteri eccezionalmente grandi, sarà davvero tanta la carta sprecata, in barba a tutti coloro che si battono per un uso più razionale di un bene così prezioso.
Ammetto che mi sarei aspettato un comportamento di così basso profilo per un testo dai contenuti scarsi, eppure in questo caso la sostanza abbonda però il libro poteva tranquillamente essere spesso la metà.
La Prefazione e l'Introduzione sono scontate, l'autore poteva tranquillamente eliminare qualche pagina, soprattutto quando cerca di giustificare lo spessore del libro paragonandosi a Mozart. Però si capisce subito lo stile del testo: un trattato completo su Java affrontato per grossi argomenti e sviluppato fin nei dettagli. Il tutto è accompagnato da un CD contente l'intero libro in diversi formati di lettura, i numerosi esempi descritti nel testo e un intero seminario intitolato: Thinking in C: Foundations for C++ & Java di aiuto alla migrazione verso questo linguaggio. Ma procediamo per gradi.
Capitolo Uno: Che capitolo!
Siamo di fronte ad un bellissimo trattato nel trattato. Affronta il delicato compito di preparare il programmatore neofita a pensare per oggetti ed entrare così in questo affascinante modo di programmare. Il capitolo è molto lungo proprio perché a volo di uccello percorre in linea teorica quelli che saranno i punti fondamentali degli altri capitoli il polimorfismo, le interfacce, i threads fino ad argomenti specialistici come il calcolo distribuito. Insomma vale la pena leggere questo capitolo perché davvero permette di vedere con luce diversa l'arte della programmazione.
Java che fatica, ma alla fine ripaga.
I Capitoli Due, Tre e Quattro, partendo dalle premesse impostate, portato il lettore a scrivere il primo programma in Java passando attraverso un confronto con quello che viene ereditato dal C e soprattutto dal C++, fino ad arrivare all'inizializzazione degli oggetti e alla loro eliminazione una volta utilizzati.
Dal Capitolo Cinque all'Undici vengono affrontati quelli che sono i capisaldi della programmazione in Java come la possibilità di costruire le proprie librarie e condividerle con il mondo dei programmatori, il riutilizzo delle classi, il polimorfismo, al quale viene dedicato un intero
capitolo che spiega fin nei dettagli le potenzialità di questa caratteristica, la gestione degli errori e infine l'input e l'output sotto Java.
Dal Capitolo Dodici fino al Quindici infine vengono trattati per ciascun capitolo alcuni argomenti che permettono a questo libro di essere all'avanguardia con quello che è il progresso nello sviluppo di nuove interfacce nel mondo Java. Si parla rispettivamente di "RTTI" (Java Run-Yime Type Identification) che contrapponendosi al polimorfismo permette di identificare il tipo di un oggetto prima del suo utilizzo. C'è un capitolo dedicato al mondo Web, quindi viene descritta la libreria grafica "Swing" e il "JavaBeans" per la creazione di "RAD" (Rapid Application Development). Un capitolo per i "Multi Threads" visti non tanto come presupposto per il calcolo distribuito bensì come modo di programmare facendo compiere al programma diverse operazioni contemporaneamente. Per ultimo il calcolo distribuito con un'introduzione ai "Servlets" e ai "JSPs" per la programmazione a livello di server, l'uso del "JDBC" (Java DataBaseConnettivity) e del "RMI" (Remote Method Invocation) e infine le nuove tecnologie come "JINI", "JavaSpaces" e "Enterprise JavaBeans" (EJBs).
Le appendici una volta tanto non un riempitivo
Ai capitoli sono affiancate cinque appendici che affrontano in coda altrettanti approfondimenti su alcuni punti cruciali.
L'Appendice A approfondisce l'argomento di passare degli oggetti a le funzioni e gestire gli oggetti di ritorno palesando quali risvolti nella programmazione può avere questo tipo di approccio.
L'Appendice B tratta il "JNI" (Java Native Interface) quindi come scrivere un programma enfatizzando al massimo le prestazioni a discapito della probabilità.
Ultima Appendice C una sorta di vademecum per la programmazione in Java uno squisito capitoletto diviso in punti da affiancare al primo capitolo dove viene detto esattamente cosa fare e cosa non fare per rendere un programma in Java il più possibile performante.
In conclusione mi permetto di sottolineare che la qualità dei contenuti è elevata anche se trattata in modo didascalico, quindi chi si aspetta una narrazione un po' sopra le righe come alcuni autori fanno, è avvisato, è quasi un testo universitario, qualche volta anche noioso. Gli esempi potevano essere ridotti, poiché che sono contenuti nel cdrom allegato, si risparmiavano diverse pagine, si dica lo stesso per i caratteri tipografici, che più piccoli non davano di certo fastidio.
Vedi recensione a cura di Giuseppe Sacco
|
|
JAVA |
Roger Cassatella
Laureato in farmacia, da sempre appassionato di computer come strumento per risolvere i problemi umani: dallo studio energetico delle molecole alla sintesi di farmaci, dalla programmazione ad Internet.
| |
Puoi contattare l'autore scrivendo a:
roger@diff.org
| |
|
|