|
Recensione di Daniele Radogna
E' un libro straordinario per stile, completezza, informatività.
Rende disponibili unitariamente, in un' unica fonte, informazioni sparse qua
e la. Vale ogni singolo dollaro speso.
↑
Recensione di dree
Perl non nasce quale linguaggio esclusivamente Object Oriented (OO),
come invece lo sono Java e Python, ma è stato aggiornato con il supporto
a questa tecnologia a partire dalla versione 5 del 1994. L' Object Oriented
Programming (OOP) è dunque una filosofia relativamente nuova per il Perl
e ad ogni modo non è necessaria per il suo utilizzo.
Object Oriented Perl è un volume di quasi 500 pagine scritto
da Damian Conway ed edito dalla Manning nell'agosto 1999. Questo testo
è il primo dedicato interamente all'OOP in Perl, a cui erano stati
precedentemente riservati solo alcuni capitoli su libri di programmazione
generale in Perl.
L'intento dell'autore è quello di fornire un tutorial sulle
caratteristiche OO di Perl e sulle tecniche che sono state sviluppate
per poter utilizzare queste caratteristiche.
Il libro è strutturato in 14 capitoli (più 2 in appendice):
dopo un primo capitolo di introduzione ai concetti dell'OOP, si passa ad un
riepilogo di quegli aspetti del Perl che sono necessari alla comprensione
delle strutture e tecniche OO. Questo secondo capitolo, che tratta le
subroutine, le strutture dati e le operazioni per accedere ad esse, è
davvero completo ed esauriente e vale sicuramente la pena leggerlo, anche
se si ha già una buona conoscenza del linguaggio. Seguono poi i
capitoli centrali, dove vengono spiegate le tecniche OO dal punto di
vista del Perl, mettendo in risalto le differenze, ovvero le diverse
interpretazioni (o meglio implementazioni) che il Perl dà alla filosofia
OO (un esempio su tutti: il polimorfismo).
Nel capitolo 8 vengono descritti due moduli per la semplificazione
nella creazione di classi: Class::Struct e Class::MethodMaker, di cui
si prensentano motivazioni, funzionalità ed esempi di utilizzo.
Concludono i capitoli sugli aspetti più avanzati dell'OO e
sui meccanismi implementativi dell'OO che caratterizzano un linguaggio
non tipato (senza dichiarazione statica del tipo di una variabile)
quale è Perl.
In appendice troviamo un breve reference dei concetti trattati e una
comparazione tra l'implementazione OO di Perl e quella di altri quattro
linguaggi OO: Smalltalk, C++, Eiffel e Java. Infine è presente un utile
glossario.
L'autore utilizza un esempio pilota, la classe CD::Music (utilizzata
per catalogare informazioni riguardanti i CD musicali), che accompagna
il lettore per gran parte del libro e che viene aggiornata e riscritta
quando necessario, in base alle nuove nozioni esposte.
Per ogni argomento trattato, viene dapprima presentato un esempio
base (naïf), poi il codice viene via via affinato in base alle
problematiche incontrate: vengono così sollevate delle obiezioni al codice
precedente e ogni modifica apportata ha la sua giustificazione.
Al termine di ogni capitolo, vengono fornite indicazioni su dove
reperire ulteriori informazioni e un breve sommario dei punti salienti
trattati nel capitolo stesso.
Object Oriented Perl è un libro "rigoroso", ben impostato,
che insegna a scrivere codice "pulito". Fornisce cioè un modus operandi,
una sorta di igiene mentale che l'autore invita a seguire per la scrittura
di un "buon" codice OO in Perl. Naturalmente l'autore giustifica tali scelte,
mostrando delle alternative al codice pulito, e gli svantaggi che queste
alternative comportano. È un libro "tosto", agli inizi scorrevole
grazie anche ad uno humour che mette a proprio agio il lettore, ma che
subito aumenta la complessità degli argomenti e, di conseguenza, degli
esempi.
Object Oriented Perl non è esente da difetti, tutto sommato,
inevitabili. Ad esempio la trattazione della filosofia OOP, nel capitolo
iniziale e nel resto del libro, non è molto approfondita. Del resto
esistono interi volumi dedicati a questo argomento. Un altro appunto
potrebbe essere il veloce aumento della complessità della trattazione. Del
resto è la stessa OOP a non essere banale. Ancora, si sarebbe potuto
impostare il libro in maniera ancor più rigorosa, perdendo probabilmente
in chiarezza, oppure renderlo di più facile lettura, dovendo
allora tralasciare qualche aspetto più avanzato. Tutto sommato,
il compromesso scelto da Conway è il più adatto per questo
primo libro interamente dedicato all'OOP in Perl.
È un libro da avere? Per imparare l'OOP del Perl sono
probabilmente sufficienti i tutorial online, la documentazione fornita
con il linguaggio e magari il capitolo sull'OOP che si trova in
"Advanced Perl Programming".
Per averne una trattazione esaustiva, per conoscerne maggiori
dettagli, per sapere perché è consigliato adottare determinate
tecniche di programmazione, allora Object Oriented Perl è per
ora l'unica valida alternativa.
|