Ci vuole certamente una bella dose di coraggio per dare alle stampe un intero libro dedicato solo ad una particolarità, seppur importante, di un linguaggio di programmazione.
E come creare una rivista di automobili che in realtà parla soltanto di sedili o cruscotti. Per forza di cose il target di lettori si riduce di parecchio ma, a voler ben guardare, quale è lo sviluppatore C# che non gradirebbe conoscere meglio questa caratteristica introdotta ormai dalla versione 2.0 del linguaggio?
In genere i Generics (o “tipi generici”, all’italiana, anche se suona un po’ male) sono relegati solo ad un capitolo, più o meno ampio a seconda dei gusti dell’autore, negli altri manuali di C#, e solo un loro uso quotidiano permette di ottenere quella certa dimestichezza che li rende parte integrante del proprio bagaglio di conoscenze.
Ecco allora che è venuta in soccorso la Packt, casa editrice piuttosto conosciuta per la sua propensione alla pubblicazione di manuali su argomenti di nicchia, creando queste poco più di 300 pagine scritte, per altro molto bene, dal suo autore di nazionalità indiana, come spesso accade per questa casa editrice, la cui biografia è racchiusa in questa immagine.
Sono in tutto 9 capitoli, più 3 appendici, che esplorano davvero nel dettaglio il mondo “Generics”, dando molto risalto alla pratica ed assegnando alla teoria il solo ruolo di aiuto alla comprensione degli innumerevoli esempi proposti.
Diciamo che per avere una più che buona comprensione dell’argomento basterebbe leggere solo la prima metà del libro, dato che nella restante metà l’autore si spinge ad analizzare implementazioni indipendenti (cioè non di casa Microsoft) dei generics, come le API delle PowerCollections create dalla Wintellect e le C5 Collections sviluppate dall’università di Copenaghen, argomenti certamente interessanti me non indispensabili per una prima lettura.
Tra l’altro nemmeno sviluppatori esperti possono essere a conoscenza di queste librerie, e queste pagine potrebbero rappresentare una novità per chiunque.
Come consigliato nelle prime pagine, meglio che il lettore abbia una buona padronanza del C# e possibilmente anche di Visual Studio (le schermate sono prese dalla versione 2010), mentre non è richiesta una preventiva conoscenza dei generics, dato che nel primissimo capitolo si spiegano i motivi per cui è stato necessario introdurli e la loro utilità, soprattutto dal punto di vista delle performance.
Le (poche, in verità) immagini sono piuttosto scure, ma perlomeno molto comprensibili (a parte un piccola minoranza, poco definite).
C’è anche spazio bianco a sufficienza, come si vede da questa immagine.
Da notare i paragrafi “Time for action” in cui si mette in pratica questo spiegato nelle righe precedenti.
Il codice è indentato abbastanza bene, pur essendo infarcito da tonnellate di commenti, come si vede da questa altra immagine.
Come anche per gli altri titoli Packt, personalmente posso dire di non gradire molto la loro impaginazione, molto scarna e basata sull’uso di font poco leggibili. Ma tant’è, soprattutto per un libro come questo l’aspetto più importante è certamente la correttezza del contenuto, e questo libro si rivela quasi immune da errate o bug.
L’inglese utilizzato, come spesso capita avendo autori indiani, è molto comprensibile e, come detto, è raro trovarsi di fronte a intere pagine di scritto teorico, dato che il focus viene posto sulla pratica e sugli esempi.
Questi ultimi, e questo potrebbe piacere o meno a seconda dei gusti personali, mostrano raramente casi reali di sviluppo (ad esempio prodotti/fornitori ecc. ecc.) ma risolvono quiz matematici o universitari, e questo qualche volta obbliga a spendere più tempo per capire il contesto che l’uso dei generics stesso.
La rilegatura, molto rigida, l’ho trovata molto scomoda per un utilizzo del libro sulla scrivania.
Nell’immagine qua sotto i dettagli del libro.
Tutto sommato quindi, a parte qualche indispensabile miglioramente sotto la veste grafica, questo titolo è un valido punto di inizio per approfondire l’argomento generics in una maniera impossibile da ottenere basandosi solo sugli altri testi di C# attualmente in commercio.
Chi ama l’approccio “esempio -> spiegazione -> conclusione” con questo libro si troverà sicuramente a suo agio.
Su Amazon Italia attualmente il libro costa quasi 40 euro, non poco considerate le dimensioni (ma accettabile per la qualità del contenuto).