Bit a bit, si cresce sempre


Blog di un ingeformatico
Statistiche
  • Views Home Page: 515.232
  • Views Posts: 1.632.095
  • Views Gallerie: 830.436
  • n° Posts: 520
  • n° Commenti: 301
Ora e Data
Archivio Posts
Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Recensione libro C # 2005 - Guida per lo sviluppatore (Hoepli)

Da quando questo libro della Hoepli uscì negozi, ormai quasi 2 anni fa, moltissimi programmatori C# di qualsiasi livello si sono consumati gli occhi e hanno speso un numero imprecisato di ore nella sua lettura. Il motivo è presto detto: rappresenta quanto di più completo sia possibile trovare in lingua italiana su questo argomento. E questo ad un prezzo tutto sommato conveniente, considerando la mole del libro (oltre 1.200 pagine). In mezzo a questa immensa mole di materiale non tutto è riuscito nel migliore dei modi, ma la somma dei pro e dei contro è abbondantemente a favore dei primi, rendendo di fatto questo libro una sorta di “Bibbia” del linguaggio.

Rispetto alla prima edizione, uscita nel 2006, con questa ristampa la Hoepli ha deciso di utilizzare una carta molto sottile, quasi velina, riuscendo in tal modo a ridurre quasi di un terzo lo spessore rispetto alla stampa originale. Come effetto collaterale si hanno però delle pagine delicatissime, dove si riesce quasi a leggere in trasparenza, anche senza metterle in controluce. Meglio saperlo prima, nel caso si ordinasse il libro senza poterlo vedere prima.

 

Consiglio subito, ancora prima di iniziare a leggere il libro, di scaricarsi le appendici in Pdf dal sito della Hoepli Informatica. Sono 4 documenti (ovviamente tradotti) dedicati alla programmazione ad oggetti in generale, ed alle differenze che C# ha con i linguaggi Visual Basic 6, Java, e C++. Sono fatti molto bene, approfonditi il giusto (tra le 30 e le 50 pagine ciascuno) e spianano bene la strada per qualsiasi tipologia di lettore. E per di più sono completamente gratis.

 

L’impaginazione e la formattazione del testo tradotto, seguono il consueto stile di casa Wrox, ovvero caratteri piccoli ma ben leggibili, codice ben indentato e con sfondo grigio per le parti su cui prestare attenzione. Rilegatura sorprendentemente, considerando le dimensioni.

Vediamo ora il contenuto.

 

Nel primo capitolo non è presente una sola riga di codice. Vengono invece stese le basi per la comprensione di tutto il resto, illustrando come è nato il .NET Framework e su quali caratteristiche fonda le sua potenzialità, soprattutto in relazione a quanto era disponibile per gli sviluppatori prima che fosse rilasciato alla fine del 2001.

La trattazione utilizza un discorso in prima persona, abbastanza inusuale per questo tipo di testi, ma rimane sempre ben chiara e la traduzione è abbastanza accurata, anche se c’è un leggero eccesso di rendere disponibili in italiano termini praticamente intraducibili (“client” diventa “cliente”, che non sarebbe a rigore corretto).

Prima di iniziare la lettura del libro, consiglio di scaricarsi prima dal sito Hoepli il file “88-203-3589-1_Errata_C2005”, riportante le errate da sistemarsi a matita direttamente nel testo. Non sono, come si vedrà, errori gravissimi (la maggior parte sono ininfluenti refusi), ma è comunque meglio riportarli, visto che un testo del genere verrà letto e riletto più volte nel corso della propria attività di sviluppatore C#.

Il corposo secondo capitolo entra finalmente nel merito del linguaggio, ed ne analizza, con esempi, parecchi aspetti; dai cicli di controllo ai namespace, dalla compilazione alle direttive del preprocessore, per finire con delle interessanti linee guida per la creazione di programmi C#. Gli autori ne sottolineano spesso le diversità con altri linguaggi, C++, Java e Visual Basic. Ciò torna particolarmente utile per quei programmatori che provengono da altri ambienti e linguaggi. Per chi invece inizia proprio dal C# - o comunque non è interessato a questi paragoni – tali aspetti rallentano solo la lettura e potrebbero creare confusione. L’impaginazione del testo è sul consueto ottimo stile Wrox: caratteri piccoli, uso del grassetto per le parole chiave, esempi di codice ben indentati e su sfondo grigio (oppure un misto di sfondo bianco e grigio quando si vogliono evidenziare le aggiunte o i cambiamenti rispetto ad un analogo codice precedente).

In questo capitolo la traduzione migliora sensibilmente, e tale resterà per tutto il corso del libro.

 

Non sono presenti gli – spesso superflui – riassunti pre e post capitolo, come anche non ci sono domande o esercizi riepilogativi alla fine del capitolo. Questa è una consuetudine di ogni libro della collana “Professional” della Wrox, e comunque non se ne sente la mancanza. La trattazione risulta già di per sé molto approfondita.

Si presuppone poi che, essendo l’ipotetico lettore già un programmatore di un altro linguaggio, disponga di un suo editor preferito, e quindi non si fa cenno a Visual Studio 2005 fino addirittura al capitolo 14, dedicandogli per intero questo capitolo.

Gli esempi di codice sono ben indentati, mentre i commenti alcune volte sono riportati tradotti, mentre altre volte sono rimasti in lingua originale.

I primi 5 capitoli coprono le basi del C#, programmazione ad oggetti compresa, e possono essere sufficienti per gran parte degli utilizzi (soprattutto per chi deve sviluppare applicazioni web, in cui non è richiesta una conoscenza di tutti i dettagli del linguaggio). Qualche problemino lo si riscontra nella traduzione; “ereditarietà” viene spesso scritta “eredità” (e ne cambia decisamente il significato!), e “client” viene tradotto come “cliente”.

I capitoli dal 6 all’8 trattano di argomenti che si possono magari tralasciare (o leggere velocemente) nella fase di primo apprendimento del linguaggio, ovvero Delegate ed Eventi, Gestione della memoria e puntatori (ebbene sì, si possono usare anche in C# volendo) e Stringhe ed Espressioni regolari. Quest’ultimo in particolare è ben fatto, e tornerà utile in parecchie occasioni.

 

Il capitolo 9 tratta l’importante concetto delle collezioni, analizzando prima gli array, e poi tutte le altre “collection” disponibili (Stack, SortedList, Queue, ArrayList, ecc.). La parte migliore del capitolo è quella centrale, in cui con ottimi sintesi si spiegano le caratteristiche che differenziano ogni collection dall’altra e come si usano i principali metodi che queste mettono a disposizione. L’inizio invece, in cui si trattano gli array dal punto di vista delle interfacce, e la fine, in cui si parla delle HashTable e si porta avanti un esempio un po’ tortuoso, sono le parti più fumose e meno riuscite.

Forse la più importante novità di C# 2005, ovvero i “Generici”, sono trattati nel capitolo 10. Purtroppo questo è uno dei capitoli meno riusciti; discorso poco chiaro, esempi fumosi e mancanza nel riuscire a fissare i pochi concetti importanti (malgrado il capitolo sia lungo una trentina di pagine) fanno venire la voglia di approfondire l’argomento altrove.

 

I capitoli 15 e 16 (quasi un centinaio di pagine in tutto) sono molto legati tra loro. Trattano infatti degli assembly e della sicurezza legata agli assembly stessi (e non solo). Come ci si renderà subito conto leggendoli, sono piuttosto avanzati e approfonditi. In prima battuta si possono saltare, dedicandoci magari del tempo quando si ha una sufficiente conoscenza di C# e del Framework .NET in generale.

 

Il capitolo 19 dedicato ad ADO.NET è assolutamente da leggere. Tratta bene le basi per l’accesso ai dati, esaminando tramite esempi tutti i casi che possono capitare nell’uso quotidiano: dall’uso efficiente delle connessioni ai database, alle varie operazioni “CRUD” (Create, Read, Update e Delete). Dall’uso di stored procedure con e senza parametri di ritorno, ai vincoli tra le tabelle. Alla fine si scoprirà che questo capitolo verrà riletto più volte. Nelle pur 50 pagine di questo capitolo è impensabile trattare ADO.NET da cima a fondo; gli autori però forniscono delle basi più che sufficienti per destreggiarsi nelle più comuni situazioni. Il capitolo successivo (25 pagine) è un po’ più particolare, e magari non sempre servirà, ma spiega come integrare il CLR del .NET Framework all’interno di SQL Server 2005 per la creazione di stored procedure, tipi e funzioni definiti dall’utente e trigger. Gli esempi, pur non avanzatissimi, costituiscono una buona base di partenza, e chi vorrà potrà approfondire meglio in testi dedicati maggiormente alla programmazione di SQL Server 2005.

Il lungo capitolo 21 (51 pagine) tratta a fondo il namespace System.XML, e quindi spiega come leggere e scrivere documenti XML. Il capitolo 22 potrebbe sembrare a prima vista fuori luogo: tratta di Active Directory (di Windows Server 2003) inizialmente in maniera molto sistemistica, ma poi mostra come usare C# per risalire ai dati degli utenti, aspetto sempre importante e che in diverse applicazioni reali viene implementato utilizzando componenti esterni (quando invece la questione potrebbe essere risolta utilizzando il namespace System.DirectoryServices, come mostrato nel capitolo). Nelle 47 pagine del 23esimo capitolo si tenta di coprire tutto lo scibile dedicato alle applicazioni Windows. Ovviamente è impossibile (ci vorrebbe un libro solo per questo), ma, anche in questo caso, ne vengono fornite delle basi molto solide. Peccato solo una certa carenza di immagini, che per un argomento come questo, ricco di controlli visuali, rappresentano un aspetto importante di apprendimento.

Nel 24esimo capitolo (36 pagine) si torna a parlare di ADO.NET, questa volta dedicandosi ai vari controlli “data-bound” (il capitolo dovrebbe più propriamente chiamarsi “Controlli data-bund”, piuttosto che “I dati in .NET”). Purtroppo in questo capitolo si verifica una situazione paradossale. Gli autori, giustamente, sottolineano i miglioramenti apportati nel nuovo controllo GridView rispetto al “vecchio” DataGrid, ma poi gli esempi si basano proprio su quest’ultimo. L’utilità del capitolo è comunque apprezzabile, dato che tratta a fondo il data binding e sono presenti parecchie immagini (grandi e piccole) che aiutano a ritrovarsi all’interno dell’IDE di Visual Studio. Le griglie di dati sono mostrate in applicazioni Windows Forms, per richiamare quanto appreso nel capitolo precedente.

Il 25esimo capitolo, pur nelle sue 56 pagine, scalfisce appena il vastissimo mondo della grafica GDI+ contenuta della Class Library del Framework. Rappresenta però un argomento un po’ di nicchia, e non tutti i lettori lo leggeranno nel primo approccio al testo.

 

Nei successivi capitoli 26 e 27 (una settantina di pagine in tutto) ecco che si torna a parlare di un argomento molto interessante, e questi due rientrano a pieno titolo nella categoria dei capitoli da rileggere. Si parla infatti di ASP.NET. Anche qua solita premessa: in soli due capitoli è virtualmente impossibile coprire anche solo per l’80% questo argomento. Gli autori cercano perlomeno di fornire delle solide basi di sviluppo web in C#.

Il capitolo 28esimo (24 pagine) tratta dei Web Service, un argomento che in seguito alla recente uscita del Framework 3.5 ha perso un po’ di importanza, essendo stato rimpiazzato dal WCF (Windows Communication Foundation). I concetti rimangono comunque validi, data l’enorme quantità di codice preesistente che si basa appunto su chiamate ad Web Service remoti.

I capitoli dal 29 al 33 compreso trattano argomenti piuttosto avanzati e di cui la maggior parte dei programmatori probabilmente non ne avrà mai bisogno (o molto saltuariamente), soprattutto per quanto riguarda l’interoperabilità con COM.

 

Stranamente rimandata fino al capitolo 34 (il terzultimo), la gestione dei file di testo (o “stream”) rappresenta un aspetto di primaria importanza, e tantissime applicazioni utilizzano file di diverso tipo per diversi scopi.

Purtroppo la lunghezza del capitolo (55 pagine) annega i concetti fondamentali in un mare di parole, e richiede al lettore molto tempo per la comprensione.

Il librone si chiude con i capitoli 36 dedicato alla creazione dei servizi di Windows.

 

Per accedere alla pagina dedicata a questo libro, andare su http://www.hoepli.it/editore/hoeplinformatica.asp (il sito è a frame, e questo è lo stesso link per tutti i testi), cliccare su “Linguaggi e programmazione” e infine su “C# 2005”.

Tantissimo il materiale scaricabile, il seguente:

 

88-203-3589-1_Capitoli 34-35_code e Appendici.zip

88-203-3589-1_Capitoli 21-26_code.zip

88-203-3589-1_Capitoli 2-14_code.zip

88-203-3589-1_Errata_C2005.pdf

88-203-3589-1_Capitolo 18_code.zip

88-203-3589-1_Capitolo 27_code.zip

88-203-3589-1_Capitolo 28_code.zip

 

di cui sottolineo soprattutto il primo, contenente le ricche appendici.

 

PRO

E’ il libro più completo ed approfondito che si possa trovare in lingua italiana (e non solo). Viene fornita una quantità notevole di informazioni, spesso anche superiori a quanto possa servire nel corso di un “normale” sviluppo del software.

 

CONTRO

In alcune parti si notano una certa prolissità e divagazioni, che fanno perdere di vista i concetti fondamentali e impegnano molto tempo nella lettura. L’utilizzo di carta velina, se da un lato riduce il peso del libro, dall’altro obbliga il lettore a prestare una certa attenzione nell’utilizzo, e ad abituarsi a intravedere il retro della pagina durante la lettura.

 

Voto complessivo: 8/10

 

Lettore: Intermedio/Avanzato

 

 

Sommario

Introduzione

1 – Cap. 1: L’architettura .NET

25 – Cap. 2: Le basi del C#

77 – Cap. 3: Oggetti e tipi

105 – Cap. 4: Ereditarietà

127 – Cap. 5: Operatori e cast

165 – Cap. 6: Delegate ed eventi

187 – Cap. 7: Gestione della memoria e puntatori

217 – Cap. 8: Stringhe ed espressioni regolari

239 – Cap. 9: Collezioni

263 – Cap. 10: I generici

297 – Cap. 11: Reflection

317 – Cap. 12: Errori ed eccezioni

339 – Cap. 13: Threading

357 – Cap. 14: Visual Studio 2005

393 – Cap. 15: Gli assembly

441 – Cap. 16: Sicurezza in .NET

487 – Cap. 17: Localizzazione

523 – Cap. 18: Distribuzione

549 – Cap. 19: Accesso ai dati con .NET

599 – Cap. 20: Programmare .NET con SQL Server 2005

625 – Cap. 21: Utilizzare XML

677 – Cap. 22: Lavorare con Active Directory

711 – Cap. 23: Windows Form

759 – Cap. 24: I dati in .NET

795 – Cap. 25: Grafica con GDI+

851 – Cap. 26: Pagine ASP.NET

889 – Cap. 27: Sviluppare in ASP.NET

923 – Cap. 28: Web Service

947 – Cap. 29: .NET Remoting

999 – Cap. 30: Enterprise Service

1027 – Cap. 31: Message Queuing

1055 – Cap. 32: Il futuro della programmazione distribuita

1079 – Cap. 33: Interoperabilità con COM

1113 – Cap. 34: Gestione dei file e del registro di sistema

1165 – Cap. 35: Accedere ad internet

1195 – Cap. 36: Servizi di Windows

1239 – Indice analitico

 

Titolo: C # 2005 - Guida per lo sviluppatore
Autori: Nagel C., et alii
Editore: Hoepli Informatica
ISBN: 978-88-203-3589-2
Pagine: 1248
Prezzo: 58 €
Data di uscita: Luglio 2006
Categoria: Books
martedì, 06 mag 2008 Ore. 08.46

Messaggi collegati


Meteo
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003