A volte ritornano, e quindi eccomi a recensire per la terza questa testo. Ovviamente non la stessa versione del libro, ma proprio la terza edizione. La prima, uscita nel 2003, era relativa a C# 1.0. La seconda, del 2005, riguardava C# 2.0, ed infine questa abbraccia l’ultima versione del linguaggio, la 3.0, rilasciata ufficialmente a febbraio di quest’anno.
Le recensioni precedenti sono a questi link:
C# 1.0
C# 2.0
Oltre a quello che scrissi in occasione delle precedenti due edizioni, non ho tantissimo da aggiungere o modificare, anche perché la struttura del testo è rimasta praticamente identica.
Una novità è che è cambiata la lugubre copertina nera, che ha contraddistinto tutti i testi Microsoft Press legati ai primi anni di .NET, con una più luminosa ed ariosa (rimangono però gli attrezzi, una scala in questo caso).
Iniziando a leggerlo mi ha rincuorato il fatto che John Sharp (un nome, un destino) non è caduto nella tentazione di fare un semplice copia&incolla con qualche aggiustatina dall’edizione precedente del suo libro, ma lo ha riscritto quasi riga per riga modificando ed aggiornando dove necessario. Questo è già un grande risultato. Quante volte è capitato di leggere nuove edizioni di testi praticamente ricopiati dalle loro vecchie edizioni, ed in cui l’autore (o chi per lui) si limitava ad un “Replace” dei termini vecchi e nuovi? (da C# 2.0 a C# 3.0. Da ASP.NET 2.0 a ASP.NET 3.5, giusto per fare due esempi).
Grazie al cielo in questo non è così. Tutto è stato rivisto ed aggiornato fin dai primissimi capitoli. Solo la struttura “Passo per Passo”, come detto, non è cambiata. Ovvero, capitoli brevi e numerosi (e questo in genere aiuta), prima parte (di ogni capitolo) teorica seguita dagli esempi in cui si chiede al lettore di portare a termine un piccolo progetto di sviluppo, ed un riassunto finale schematico. Queste 3 sono in sostanza le caratteristiche principali di questa collana di testi.
La prima parte, fino al capitolo 6, copre le basi del linguaggio, non introducendo ancora la programmazione ad oggetti, che viene infatti affrontata nella vasta seconda parte (capitoli dal settimo al quattordicesimo). Con la terza si conclude il tour del linguaggio, affrontando argomenti un po’ più avanzati, quali i generics, l’overload degli operatori ed un assaggio di LINQ.
La parte quarta, dedicata alle applicazioni Windows, è completamente nuova. Dopo le prime due edizioni in cui venivano creati progetti di tipo WinForm, ora il .NET Framework ci porta in dote WPF, e quindi i progetti di esempio sono di questo tipo. Anche in questi capitoli (22, 23 e 24) si entra poco nel merito della teoria, per dare grande spazio alle esercitazioni passo per passo. La lettura diventa perciò quasi inutile se fatta solo dal libro, ma molto proficua se abbinata al pc. Questo aspetto è rinforzato anche dal fatto che le immagini sono poche, e nelle procedure guidate si fa un po’ fatica ad immaginare cosa potrebbe apparire a video.
La penultima parte, la quinta, dedicata ai database è molto simile a quella delle precedenti edizioni. Leggera teoria dei database più basi di ADO.NET, questa volta con un po’ di LINQ come supporto.
I tre capitoli (27, 28 e 29) dedicati ad ASP.NET coprono essenzialmente le basi, nulla più. Non vengono ad esempio trattate le pagine master e i controlli utenti. D’altronde ad un libro “base” su C# non si poteva chiedere di più.
Per chi non conosce approfonditamente C#, è difficile capire quali caratteristiche del linguaggio sono state introdotte nelle versioni 2.0 o 3.0 del linguaggio. L’autore infatti non riporta questo dettaglio, che in certi casi potrebbe invece tornare utile.
Come ambiente di sviluppo viene utilizzato Visual Studio 2008 Professional in italiano, ma vengono riportate le differenze di comportamento o di comandi da eseguire (ad esempio per completare le esercitazioni) nel caso di utilizzo di Visual C# 2008 Express Edition e Visual Web Developer Express Edition (per la parte su ASP.NET).
La caratteristica negativa di questo libro che maggiormente balza all’occhio è la traduzione non all’altezza di una casa editrice come la Mondadori Informatica.
A parte i numerosi refusi, ci sono delle frasi (pag. 23, 125, 286, 305, ecc.) rimaste incredibilmente in inglese, e qualche volta capita di trovare frasi senza senso compiuto.
Purtroppo questi sono fattori che condizionano pesantemente la valutazione complessiva di quest’opera.
E a ciò si sommano alcuni errori che ho riscontrato nel codice degli esempi, ma qua è una pecca che ci si porta dietro dalla versione originale (non credo che siano stati messi di proposito nella versione italiana).
La cosa che mi stupisce poi, leggendo le varie recensioni che attualmente appaiono su Amazon, è che nessun lettore se ne sia accorto (mi domando davvero come lo abbiano letto).
Esteticamente il libro si presenta bene: la rilegatura con spago – sufficientemente flessibile – unita ad un tipo di carta spessa e resistente, conferiscono al libro una grande robustezza. Anche un uso intensivo e prolungato non lo danneggerà troppo (a differenza di tanti altri libri).
Il codice degli esempi, inoltre, è stato scritto scegliendo un ottimo carattere di testo (un po’ più piccolo del testo scritto) e risulta ben indentato e leggibile. Scelta non altrettanto felice per quello della parte scritta, dove è stato utilizzato un “simil-Arial”.
Il Cd allegato (circa 65 MB) contiene la versione originale (completa) del libro in Pdf, i file di esempio (con una procedura di installazione a parte), e i seguenti Pdf di capitoli di altri libri della Mondadori Informatica.
- ExpressionWeb_AColpoDOcchio_Cap04
- ExpressionWeb_PassoPerPasso_Cap4
- Programmare_ASP_AJAX_Cap2
- Vista_PassoPerPasso_Cap02
- Vista_PassoPerPasso_Cap06
È presente però una duplicazione di cartelle: la “Practice Files” e la “Sample Files” sono identiche, e contengono lo stesso file eseguibile per l’installazione del codice di esempio.
Questa è la pagina del sito della Mondadori Informatica relativa al libro. Non è però presente nulla di scaricabile. Se ben ricordo però, nella newsletter della MSDN qualche settimana fa era stato reso disponibile un capitolo in formato Pdf.
Purtroppo, per questa versione di C#, questo libro è l’unica fonte resa disponibile (in italiano) dalla Mondadori Informatica.
Situazione ben diversa dal 2002/2003, quando con l’introduzione del neonato .NET Framework fu tradotta una pletora di libri, alcuni davvero notevoli.
Quindi prendere o lasciare.
PRO
Per chi necessita di un punto di partenza per l’apprendimento di C# 3.0, e ripone grande importanza nella pratica (a scapito di qualche dettaglio di teoria), con l’aiuto di esercitazioni passo per passo, questo libro costituisce una valida scelta. Rispetto alle precedenti edizioni, l’autore si è impegnato in una massiccia e profonda riscrittura, e non si è limitato alle sole aggiunte delle novità (come qualche volta capita di vedere in altri testi). Molto buona la trattazione delle basi di LINQ.
Il fatto di essere uno dei pochi libri in italiano, e soprattutto di un certo “peso”, costituisce un ulteriore plus.
CONTRO
I numerosi problemi di traduzione riscontrati, purtroppo, ne condizionano il giudizio globale, che altrimenti sarebbe stato abbastanza positivo. Qualche volta viene dato troppo spazio alla creazione del progetto di esempio a scapito di entrare un po’ più nel dettaglio della teoria. E questi spazi sono troppo ricchi di frasi del tipo “cliccare qui, selezionare là, scrivere questo, ecc.” che alla lunga stancano ed annoiano.
Le collections sono un argomento trattato un po’ troppo superficialmente, mentre il capitolo sui Generics (il 18esimo) è un po’ confusionario e difficile da seguire.
Avrei preferito inoltre un tipo di carattere diverso per il font utilizzato per la parte scritta. Meglio uno con “grazie”, tipo il Times New Roman, più leggibile.
Voto complessivo: 6.5/10
Lettore: Principiante/Intermedio
Sommario
Introduzione
Parte 1 – Introduzione a Microsoft Visual C# 2008 e Visual Studio 2008
3 – Cap. 1: Introduzione a C#
29 – Cap. 2: Utilizzo di variabili, operatori ed espressioni
49 – Cap. 3: Scrittura di metodi e applicazione di ambiti
67 – Cap. 4: Utilizzo delle strutture decisionali
85 – Cap. 5: Utilizzo degli operatori di assegnazione composti e delle istruzioni di iterazione
103 – Cap. 6: Gestione di errori ed eccezioni
Parte 2 – Comprendere C#
123 – Cap. 7: Creazione di classi e oggetti
145 – Cap. 8: Introduzione a valori e riferimenti
167 – Cap. 9: Creazione di tipi valore con enumerazioni e strutture
185 – Cap. 10: Utilizzo di matrici e insiemi
207 – Cap. 11: Introduzione alle matrici di parametri
217 – Cap. 12: Utilizzo dell’ereditarietà
239 – Cap. 13: Creazione di interfacce e definizione di classi astratte
257 – Cap. 14: Utilizzo di Garbage collection e Gestione risorsa
Parte 3 – Creazione dei componenti
275 – Cap. 15: Implementazione delle proprietà per accedere ai campi
295 – Cap. 16: Utilizzo degli indicizzatori
311 – Cap. 17: Interruzione del flusso del programma e gestione degli eventi
333 – Cap. 18: Introduzione ai generics
355 – Cap. 19: Enumerazione degli insiemi
371 – Cap. 20: Interrogazione dei dati in memoria mediante espressioni di query
395 – Cap. 21: Overload degli operatori
Parte 4 – Utilizzo di applicazioni Windows
415 – Cap. 22: Introduzione a Windows Presentation Foundation
451 – Cap. 23: Utilizzo di menu e finestre di dialogo
473 – Cap. 24: Esecuzione della convalida
Parte 5 – Gestione dei dati
499 – Cap. 25: Interrogazione delle informazioni in un database
529 – Cap. 26: Visualizzazione e modifica dei dati mediante associazione
Parte 6 – Creazione di applicazioni Web
559 – Cap. 27: Introduzione ad ASP.NET
587 – Cap. 28: Introduzione ai controlli di convalida dei form per il Web
597 – Cap. 29: Protezione dei siti Web e accesso ai dati mediante form per il Web
623 – Cap. 30: Creazione e impiego di un servizio Web
Titolo: Visual C# 2008 Passo per Passo
Autore: John Sharp
Editore: Mondadori Informatica
ISBN: 9788861141131
Pagine: 667
Prezzo: 50 €
Data di uscita: Apr. 2008