Questo libro raccoglie un’eredità molto ingombrante.
La precedente edizione, infatti, riguardante C# 2005, si era merita unanimemente (e meritatamente) l’appellativo di peggior libro Wrox mai pubblicato.
Avevo avuto la (s)fortuna di recensirlo il 4 aprile del 2007:
ed ero rimasto davvero sorpreso dalla pessima qualità della pubblicazione, fatto abbastanza inusuale per una casa editrice come la Wrox.
Bisogna ammettere che in questa nuova edizione la qualità è migliorata anni luce.
Il nuovo autore possiede un’eccellente capacità di sintesi e di arrivare subito al punto senza giri di parole. Praticamente ogni lettera che scrive è pregna di significato. Bisogna anche dire che non ha bisogno di spiegare troppo nei dettagli i concetti, dato che, essendo questo libro una “Reference”, si aspetta che in realtà il lettore conosca già il linguaggio, e gli serva un buon ripasso di quasi tutti i concetti fondamentali (e non solo, dato che ogni tanto approfondisce anche).
Si intuisce questo dal fatto che, ad esempio, nel capitolo delle interfacce si parla di ereditarietà, che è trattata nel capitolo successivo. E questo succede anche per altri argomenti. Ovviamente un tale modo di procedere, per un lettore principiante creerebbe più problemi che altro.
Dopo una rapida introduzione al .NET Framework (primo capitolo), nel lungo secondo si illustra il funzionamento e l’utilizzo di Visual Studio 2008, dando particolare risalto alle fasi di refactoring del codice (cui l’autore sembra puntare molto). Malgrado il capitolo occupi 50 pagine, la massiccia presenza di figure (tratte dalla versione Team System di Visual Studio) e la grande quantità spazio bianco (un caratteristica di parecchi libri della Wrox), consentono di terminarne la lettura in un’ora o poco più.
Nei successivi capitoli si entra nel merito del linguaggio vero e proprio, seguendo lo schema classico di insegnamento; basi della sintassi, elementi di programmazione ad oggetti, e così via.
Soprattutto la parte della programmazione ad oggetti è trattata piuttosto approfonditamente, con tanto codice (anche se di breve lunghezza) e spiegazioni molto pratiche e sintetiche.
In tutto il libro ho riscontrato solo un piccolo e banale refuso, segno di grande cura realizzativa.
La lunghezza dei capitoli non è eccessiva, e si fanno leggere molto bene. È notevole la capacità di trattare tanti argomenti in poche pagine, pur mantenendo un buon approfondimento della trattazione. Molto utile poi la segnalazione (in principio di paragrafo) quando un argomento è una novità della versione 3.0 del linguaggio, così chi proviene dalla 2.0 (praticamente tutti) si possono regolare di conseguenza (magari è una feature che si erano persi). L’impaginazione è quella ottima solita della Wrox: caratteri piccoli il giusto, perfetta indentazione del codice e sfondo di grigio leggero per le parti modificate/nuove o su cui il lettore deve prestare attenzione, e disponibilità di spazio bianco.
Fondamentali gli ultimi 5 capitoli, dedicati ad alcune aree dove poter applicare C# (e che coprono la stragrande maggioranza dei casi), ovvero “Web Forms”, “Win Forms”, “Silverlight Applications”, “Mobile Applications” e “Windows Communication Applications” (WCF).
Da soli, questi capitoli qua, valgono il prezzo dell’intero libro, data anche la grande capacità dell’autore nel sintetizzare al massimo l’esposizione, pur mantenendola nel complesso piuttosto completa e dettagliata.
Come dicevo non è un libro indicato per chi sta iniziando a programmare con C#, dato che ogni tanto capita che l’autore faccia riferimento a concetti che appartengono ai capitoli successivi (!).
Questa è la pagina del sito dedicata al libro,
dove è possibile scaricarsi, in formato Pdf, il sommario dettagliato, il primo capitolo completo (20 pagine), l’appendice B (“Examining the .Net Class Libraries Using the Object Browser”) e l’appendice C (“C# Keywords”).
È anche possibile acquistare un singolo capitolo, con prezzi che variano dai 5 ai 7 euro, una forma di vendita su cui la Wrox sta molto spingendo negli ultimi tempi.
La pagina delle Errate è per ora completamente vuota, segno che non sono stati riscontrati errori.
In realtà almeno un piccolo errore c’è, come già detto, e l’ho segnalato a questa pagina del forum:
Il file del codice sorgente è di circa 20 MB. Non c’è nessun file sorgente per i capitoli riguardanti C#, ovvero dal primo al quindicesimo. Sono presenti infatti i sorgenti solo dei capitoli riguardanti l’uso del linguaggio per realizzare i progetti degli ultimi 5 capitoli, come anche dell’appendice C, riguardante SandCastle.
Questo può essere un po’ scomodo se si volesse rivedere il codice di un certo capitolo: bisogna necessariamente avere il libro con sé.
PRO
Eccellente capacità di sintesi per la quasi totalità degli argomenti di base del linguaggio. La precisione dell’autore si riscontra sia nel testo che nel codice. Per chi si trova ad un livello “intermedio” nella conoscenza di C#, credo che sia uno tra i migliori libri in circolazione, e vale davvero la spesa.
Notevoli le appendici dedicate ai possibili campi di utilizzo; costituiscono dei validi mini tutorial, e da sole valgono il prezzo del libro.
CONTRO
Manca completamente il codice sorgente dei capitoli per il “puro” C# (dal primo al 15esimo).
Si parla di alcuni concetti quando in realtà non vengono ancora trattati, e questo per chi si approssima al linguaggio può essere fonte di disorientamento.
Voto complessivo: 9.5/10
Lettore: Intermedio
Summary
Introduction
Chapter 1: The .NET Framework
Chapter 2: Getting Started with Visual Studio 2008
Chapter 3: C# Language Foundations
Chapter 4: Classes and Objects
Chapter 5: Interfaces
Chapter 6: Inheritance
Chapter 7: Delegates and Events
Chapter 8: Strings and Regular Expressions
Chapter 9: Generics
Chapter 10: Threading
Chapter 11: Files and Streams
Chapter 12: Exception Handling (drop s)
Chapter 13: Collections
Chapter 14: Language Integrated Query (LINQ)
Chapter 15: Assemblies and Versioning
Chapter 16: Developing Windows Applications
Chapter 17: Developing Web Applications
Chapter 18: Developing Windows Mobile Applications.
Chapter 19: Developing Silverlight Applications
Chapter 20: WCF
Appendix A: C# Keywords
Appendix B: Namespace-to-Assembly Reference
Appendix C: Generating Documentation for Your C# Applications
Index
Titolo: C# 2008 Programmer’s Reference
Autore: Wei-Meng Lee
Editore: Wrox
ISBN: 978-0470285817
Pagine: 808
Prezzo: 44.99 $ (prezzo di copertina)
Data di uscita: 10 Nov. 2008