Sei sulla pagina 1di 1

Autore: Michele Arpaia

Argomento: Strutture dati in Java

Autore Liwu Li
Titolo Java Data Structures and Programming
Editore Springer
ISBN 3-540-63763-X
Lingua Inglese
Anno 1998
Prezzo £128000
Pagine 483
Allegati CD ROM

Recensione
Questo libro dimostra come Java rende possibile la codifica di quelle strutture dati da sempre relegate ad ambienti
accademici, quali AVL-tree, Traversing-Graphs, Networks flows, il tutto arricchito da implementazioni complete,
disponibili sul CD allegato.
La prima cosa che colpì l’attenzione quando lo lessi per la prima volta fu la buona sintesi tra contenuto e linguaggio
accademico con reali spunti di applicazioni, andando a placare quei falsi preconcetti tutti riassumibili con l’espressione:
“nel mondo del lavoro queste cose non servono”.
In realtà, il libro non mantiene tutte le promesse nascoste nel titolo. Sostanzialmente solo nella terza parte (Data
Structures) l’argomento presente nel titolo è trattato, mentre nelle altre parti ruotano argomenti più o meno pertinenti. In
questa sezione comunque c’è materiale di non facile reperibilità o comunque difficilmente lo si trova organizzato in
questo modo. Ampiamente discusse sono le implementazioni delle Linked List e degli alberi (come ad esempio i Binary
Tree, AVL-Tree, B_Tree,…), con una buona introduzione teorica degli argomenti, rendendo anche più maneggevoli
argomenti come i grafi e i flussi su rete.
Personalmente ho trovato del tutto superfluo i primi tre capitoli della prima parte (ad esempio la trattazione dell’AWT,
Event Driving, etc…).
La seconda parte del libro (Computation Analysis) contiene due capitoli preziosi: la JVM come macchina astratta e
l’analisi della complessità degli algoritmi. Entrambi giustificati come conoscenza previa per meglio tesaurizzare le
nozioni della terza parte. In verità hanno vita autonoma e possono essere consultati come approfondimento della
macchina virtuale, per capire la relazione tra le strutture dati e i byte-codes corrispondenti.
Infine la quarta parte presenta le classi e le interfacce di Java per la serializzazione: mostra i meccanismi per generare
efficienti rappresentazioni seriali di strutture dati, ovvero List Serialization, Tree Serialization e Graph Serialization.

Pro
Scritto in un buon inglese, facilmente consultabile, dotato di un buon numero di esempi, tutti presenti nel CD allegato.
Quasi tutti gli argomenti sono trattati in maniera approfondita, con la costante attenzione a soddisfare sia i teorici della
programmazione sia i cosiddetti smanettoni.
Inoltre l’autore presenta nella prefazione delle roadmaps, utile a chi vuole approfondire determinati argomenti senza il
peso di una lettura sequenziale.

Contro
Considero la trattazione degli argomenti topici dell’OO (Polimorfismo, Composizione,…) e della struttura del
linguaggio Java poco azzecata, quasi come tentativo di dare al lettore sprovvisto gli strumenti per proseguire nella
lettura. In realtà il libro non è adatto al newbie, ma a chi ha già digerito l’OO di Java, qualche suo idioma, e si presta a
fare un salto in avanti nella comprensione low-level del linguaggio o all’utilizzo di Java in un ambiente di ricerca. Chi
pretende di capire tutte le potenzialità del linguaggio sbaglia acquisto.

Potrebbero piacerti anche