|
Recensione di dree
Con il motto "programmer to programmer" che la contraddistingue, la Wrox
ha inaugurato diverse collane dedicate alla programmazione: Linux, PHP,
Perl. Queste collane sono divise in 3 livelli di difficoltà:
principiante, intermedio, avanzato, livelli che secondo la Wrox possono
far parte di una sorta di percorso a tappe di crescita professionale,
dalle competenze più basilari a quelle di alto livello.
Il primo step dell'ipotetico percorso è occupato da Beginning Perl,
Professional Perl Programming copre il secondo step, mentre Professional
Perl Development copre il terzo e più avanzato livello. Entrambi i due
Professional Perl sono opere scritte a più mani: infatti molti
contributing authors affiancano l'autore, o gli autori, principali.
Professional Perl Development è un'opera di 3 autori: Randy
Kobes, Peter Wainwright e Shishir Gundavaram con altri
7 coautori, tra cui il nostro Pancrazio 'Ezio' de Mauro.
Volume con un numero minore di pagine rispetto al Programming
(ne ha infatti poco più di 700), questo libro è pensato
per dare una trattazione approfondita dei moduli più significativi e
importanti, sia tra quelli che accompagnano nativamente Perl, sia tra
quelli installabili in un secondo momento. Dunque il libro non è
dedicato al neofita ma al lettore che vuole affrontare verticalmente
gli aspetti per i quali Perl è utilizzato maggiormente.
Ad un'interessante introduzione, fa seguito il primo capitolo, dedicato
naturalmente alla programmazione web lato server. Dunque HTTP headers, CGI,
cookies, con un iniziale aiuto sul settaggio di Apache e IIS, fino ad
arrivare ad un accenno sulla programmazione di un web server tout court.
Nel secondo capitolo troviamo mod_perl e FastCGI, per rendere più veloci
i nostri script con Apache.
Il terzo capitolo è dedicato alla programmazione web lato client e di
conseguenza soprattutto alla libreria di moduli LWP::*
con la quale costruire ftp client, web client e web robot.
Di seguito due brevi capitoli: nel quarto troviamo i restanti protocolli
di rete, news, mail ecc, dunque i vari moduli Net::* e Mail. Nel quinto si
parla di programmazione distribuita, con i socket, RPC e CORBA.
Nel sesto e consistente capitolo vengono trattati i database, partendo dai
più semplici come i CVS, passando per i DBM,
l'SQL e MySQL (con una piccola trattazione dell'installazione, configurazione
e gestione). Si arriva naturalmente a DBI,
alla persistenza della connessione, ai database residenti in memoria e
all'import/export dei dati.
Nel settimo capitolo troviamo una trattazione del modulo Net::LDAP per
la gestione dell'omonimo protocollo per la gestione
dei "directory service", ovvero di quei sistemi basati su database che
consentono un rapido accesso ai dati attraverso la rete, come
per esempio in applicazioni di user authentication o gestione dei privilegi nel B2B.
Seguono due capitoli sul Perl embedded, ovvero sul Perl da scrivere
direttamente nelle pagine web. Nel breve capitolo 8 si
parla dei moduli HTML::* (Template, Mason, Embperl) e di Apache::ASP per
l'utilizzo della tecnologia ASP+Perl anche su
macchine Unix. Nel nono capitolo si parla più diffusamente di ASP+Perl
stavolta dal lato dei server Microsoft. ASP di per
sé non è un linguaggio ma una tecnologia, che di default parte con due
linguaggi esclusivi di Microsoft quali VBScript e
JScript. Grazie al PerlScript engine di ActiveState, è possibile utilizzare
Perl per scrivere pagine .asp sui server della casa di Redmond.
Nel capitolo 10 si parla di XML e XSL, gestibili tramite i vari XML::*
(Parser, Checker, ecc.) fino ad arrivare ad accennare argomenti più avanzati
come XQL (XML Query Language) e SOAP per comunicare con applicazioni
remote utilizzando XML.
L'undicesimo capitolo è dedicato ai moduli inerenti la matematica e le
applicazioni computazionali, dunque i vari Math::* (Interpolate, Geometry,
ecc.), per passare alla crittografia con i numerosi Crypt::* (DES, PGP5,
ecc.) e altri, alla statistica (Statistics::*) e un accenno alle reti
neurali (AI::*).
Negli ultimi due capitoli si parla di grafica: il capitolo 12 è dedicato
alla generazione e trattazione delle immagini con i moduli GD, ImageMagick
e Gimp, mentre il tredicesimo ed ultimo capitolo parla dello sviluppo di
GUI in Perl con il modulo Tk (in breve Perl/Tk).
Infine chiudono le appendici, sostanzialmente le stesse di Professional
Perl Programming, dunque con brevi reference sugli switch a linea di comando,
le variabili speciali, le funzioni, le RegExp, ecc.
A livello "visivo" questo volume trae in inganno. Infatti grazie alla
carta più spessa, ha la stessa dimensione fisica di
Professional Programming anche se ha quasi la metà delle pagine.
Questa valutazione fisica, forse un po' troppo naïf, può forse servire a
rendere l'impressione che con un ulteriore sviluppo degli argomenti, con
relativo incremento del numero di pagine, si avrebbe reso l'opera ancora
più completa. Infatti data la vastità degli argomenti trattati, la
maggioranza dei capitoli, pur se ben scritti e con sufficiente dettaglio,
sembrano comunque un po' troppo sacrificati.
Il libro è senz'altro valido e utile visto che offre una panoramica
completa sull'utilizzo tipico (e non) di Perl, utilizzando i moduli più noti.
Potrebbe però deludere un utente già particolarmente esperto in un
argomento, che cercasse in questo libro un approfondimento estremo.
|