Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Espressioni regolari
Recensito da Pierpaolo Cira il 17-07-2007 ore 11:33
Copertina ISBN: 9788850326655
Autori: Marco Beri
Editore: Apogeo
Lingua: Italiano
Anno: 2007
Pagine: IX + 179
Allegati: nessuno
Intel Cluster Studio XE
Tra i vari testi della collana Pocket di Apogeo, mi ha incuriosito molto il testo Espressioni regolari, ancor più leggendo il sottotitolo "Inventate nel 1950 ma ancora oggi insostituibili: le regexp". Ritenendo che, nonostante fosse un argomento molto importante per la programmazione, potesse essere trattato adeguatamente in un libro "tascabile" mi sono cimentato nella lettura.

Si tratta di un testo composto da 23 capitoli e 3 appendici dalle dimensioni molto ridotte, atti a trattare singolarmente ogni aspetto importante delle espressioni regolari (regexp). I capitoli possono essere idealmente raggruppati in quattro categorie principali.

Dopo una piccola introduzione anche storica, come in ogni buon testo degno di tale nome, la prima parte è prettamente introduttiva. I due capitoli che la compongono, infatti, parlano dei vantaggi di tale strumento a scapito di un algoritmo, che implementi la stessa ricerca di esempio in una stringa; poi vengono indicate due modalità per testare quanto spiegato sulle espressioni regolari nei capitoli successivi: un tool on line ed uno freeware stand alone da installare sul proprio PC. Questa scelta è molto utile, perché l'intero testo si basa su esempi per mettere in evidenza sia le necessità di base, che l'utilizzo pratico di ancoraggi, quantificatori, classi, gruppi, modificatori ed altro.

La seconda e la terza parte di questo mio ideale raggruppamento sono molto legate tra loro. Nella seconda, che va dal terzo al nono capitolo, vengono trattati gli elementi basilari delle regexp, ossia caratteri normali e speciali, stringhe semplici, il carattere jolly ".", cifre e spazi, i set di caratteri, le parole e l'inizio e la fine di righe e testi. Praticamente, vengono messi in evidenza i metodi per effettuare le operazioni più semplici con le espressioni regolari; acquisite tali nozioni l'appendice C si occuperà di riportarci alla mente il significato di quanto studiato in caso di necessità.

L’appendice C è composta, infatti, da una tabella riassuntiva contenente i riferimenti su quanto appreso durante la lettura dell'intero il libro: l'ideale da avere sempre con sé se si deve lavorare con le espressioni regolari e si è già letto bene tutto il testo.

La terza parte, che prosegue fino al capitolo 15, è molto più "divertente" della seconda in quanto evidenzia come comportarsi con le regexp, quando si ha ha che fare con problemi più complessi da affrontare. In questa sede, si parla infatti dei quantificatori, di gruppi e alternative, di come indicare caratteri Unicode e ASCII, delle modalità di lookaround, di altri inusuali caratteri speciali trattati per completezza del testo ed infine dei modificatori. Con questa parte tutto quello che c'è da sapere sulle regexp è stato trattato e il testo potrebbe terminare qui, dopo circa un centinaio di pagine.

Invece c'è un'ultima parte, la quarta, in cui viene spiegato come utilizzare le espressioni regolari con alcuni tra i principali linguaggi di programmazione. In questi capitoli è dimostrato, con un piccolo ed efficace esempio, come integrare le espressioni regolari all'interno del codice su cui si sta lavorando, ammesso che si tratti di Python (capitolo 16), Ruby (capitolo 17), Perl (capitolo 18), PHP (capitolo 19), JavaScript (capitolo 20), Java (capitolo 21), .NET (con C#, nel capitolo 22) e Visual Basic (nella versione tradizionale non .NET, nel capitolo 23).

L'appendice A parla brevemente di come possono essere implementati i motori di regexp tramite una breve trattazione di automi a stati finiti deterministici e non deterministici, utile a capire almeno marginalmente come funzionano i motori di ricerca delle espressioni regolari.

Avendo già parlato dell’appendice C, non resta che l'appendice B che contiene, infine, quattro esempi di utilizzo delle espressioni regolari.

A conclusione del testo, scritto in una maniera così semplice da permettere una leggera e piacevole lettura che spingerebbe quasi a finirlo tutto d'un fiato, si pensa subito che l'autore, Marco Beri, laureato in Scienze dell'Informazione e responsabile dello sviluppo software nella propria azienda, abbia fatto bene il proprio lavoro nella programmazione e stesura degli argomenti trattati.

Gioca a favore della facilità di lettura anche l'impaginazione del testo di Apogeo, che rende il tutto ancor più scorrevole. Se la divisione del testo in minicapitoli è, infatti, un'ottima idea per favorire l'apprendimento, ritengo che il punto forte del libro sia proprio l'organizzazione contenutistica degli stessi. In ognuno, per quanto riguarda la parte descrittiva delle regexp che va — ripeto — dal terzo al quindicesimo, viene sollevata una problematica e viene dimostrato come risolverla, mettendo in evidenza utilità ed eventuali vantaggi su altri metodi degli argomenti in questione.

In pratica, il testo è un manuale per l'apprendimento delle espressioni regolari ben strutturato, in cui le pagine sono contemporaneamente sia quanto necessario a comprendere un argomento, sia un riferimento allo stesso per le rapide consultazioni future. In tale ottica, forse l'appendice B avrebbe potuto contenere più esempi, in modo da indurre il lettore a cercare la soluzione al problema da sé, confrontandola con quella dell’autore.

Altra pecca è la trattazione degli argomenti a volte troppo esaustiva. Se infatti a prima vista può sembrare una cosa ottima, dall'altra parte c'è da considerare che possa risultare dispersiva, pensando al target cui il testo è destinato: chi acquista un testo sulle regexp è solitamente un programmatore, che vuole ampliare le proprie conoscenze, e che ad esempio non ha necessità di leggere come installare un'applicazione, avere la definizione di freeware o la storia di un linguaggio di programmazione.

Per concludere è da segnalare che il testo è rilegato solo termicamente e questo non permette una sua lettura intensiva, a meno che non si pongano le dovute attenzioni nell'apertura delle pagine: forse sarebbe stato meglio se i fogli fossero stati anche cuciti.

Ma, tranne che per queste piccolezze, ripeto le mie impressioni molto positive sul testo, che arriva perfettamente allo scopo che si era prefissato: essere un'agile guida all'utilizzo delle regexp.
proOttima organizzazione e trattazione dei contenuti: un testo piccolo e allo stesso tempo completo e ben strutturato.
controAnche se sarebbero stato utili più esempi ed una trattazione meno lunga di alcuni argomenti, l'unico vero aspetto negativo del testo è la rilegatura; tuttavia, stante il basso costo, direi che si possa soprassedere anche su questo aspetto.
Precedente: Pagine Web object oriented con PHP
Successiva: Corso su Ruby: unit testing (2/2)
Intervento di L S a.k.a. luca_suriano del 18-07-2007 ore 11:48
Plebeo
Plebeo
(14 interventi)
Iscritto il 04-08-2003
Ho appena finito di leggere questo gioiellino e condivido tutto cio' che hai scritto ... davvero un ottimo lavoro.
Intervento di Pierpaolo Cira a.k.a. pierpaoloc del 18-07-2007 ore 23:36
Marchese
Marchese

(1372 interventi)
Iscritto il 17-01-2006
Citazione:
Ho appena finito di leggere questo gioiellino e condivido tutto cio' che hai scritto ... davvero un ottimo lavoro.

Quando recensiamo testi facciamo molto più del solito su programmazione.it... sono felice che il mio, come sicuramente quello di tutti gli altri articolisti e recensori, venga apprezzato... grazie ;)
Intervento di Roberto Casadei a.k.a. robyonrails del 02-08-2007 ore 13:04, Cesena (FC)
Plebeo
Plebeo

(45 interventi)
Iscritto il 24-12-2006
Tutto sommato non mi è dispiaciuto.

Si legge agevolmente ed è abbastanza piacevole.

Sorvoliamo sulle ridondanze di esempi e sulla discorsività, dato che il target è stato esplicitamente dichiarato.
Intervento di Luigi Z a.k.a. ciupaz del 04-02-2009 ore 16:26, Milano (MI)
Cavaliere
Cavaliere

(163 interventi)
Iscritto il 20-07-2001
E' corto ma abbastanza completo, davvero non male, per un volumetto del genere.
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.445 secondi.