Bit a bit, si cresce sempre


Blog di un ingeformatico
Statistiche
  • Views Home Page: 530.049
  • Views Posts: 1.660.819
  • Views Gallerie: 891.486
  • 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# 2008 – Guida per lo sviluppatore (Hoepli)

Anche in occasione dell’uscita della versione 3.0 (o 2008) di C#, la Hoepli si è sobbarcata l’immane compito di tradurre il monumentale volume della Wrox, “Professional C# 2008”, chiamandolo – come anche nelle precedenti occasioni – “Guida per lo sviluppatore”.

Recensire un’opera del genere non è facile, più che altro data la sua dimensione, non facilmente gestibile. Chi riesce a leggersi, riga dopo riga, oltre 1500 pagine? E a provare tutti gli esempi di codice che vengono presentati?

E poi si valuta il “reale” contenuto (quindi la versione originale, in sostanza) o la versione tradotta (con tutti i problemi che si può portare appresso)?

Forte di questi dilemmi, mi dividerò in due.

Per prima cosa parlo un attimo della versione inglese, da cui questo libro deriva, per poi dedicarmi all’effettivo libro in questione.

 

Per chi sviluppa in C#, la serie “Professional” della Wrox è una garanzia di sicurezza, quello è indubbio.

Sono tomi enormi, quasi omnicomprensivi di ciò che offre la versione del .NET Framework analizzata, e rappresentano la base su cui si formano schiere di programmatori.

Bisogna dire che dopo la prima edizione di questa serie di libri, risalente ormai al 2002, gli autori vivono ormai di rendita. Il “core” (mi si passi questo termine tecnico) del libro rimane sempre lo stesso, o con lievissime modifiche, e si aggiunge quel poco (o tanto) di novità che ogni versione si porta appresso. Anche gli esempi base sono sempre quelli, e spesso ci si ritrova a leggere le medesime frasi “copia&incollate” da una versione all’altra del libro. Chi possiede tutte e 3 le precedenti edizioni di questo libro, non avrà tardato ad accorgersi di avere le stesse pagine ripetute 3 volte.

 

È comunque una sorta di bibbia: quando si ha un dubbio, si sa che almeno una basilare risposta la si trova. Le descrizioni non mancano, e gli esempi sono quasi sempre calzanti e stimolanti. Per la sua mole si presta come “reference” da tenere accanto al pc nei momenti di bisogno, piuttosto che essere portato in giro nei propri spostamenti. Questa sua caratteristica ha, ovviamente, l’aspetto negativo di richiedere molto tempo per la sua lettura. Ogni capitolo si attesta, in media, sulle 50 pagine, e difficilmente si riesce a leggerne più di uno al giorno. Non è, in sostanza, il libro più indicato se si vuole apprendere le basi del linguaggio in pochi giorni. A tale scopo ci sono altri libri, di altre case editrici, maggiormente adatti a questa categoria di lettori.

D’altro canto non richiede esagerate competenze pregresse. La sua vastità gli permette di prendere per mano i lettori “beginner” come anche soddisfare la curiosità di chi ha maggiore esperienza e conosce già abbastanza bene il linguaggio.

 

Un’altra sua caratteristica, presente sin dalla prima versione di 7 anni fa, è che gli autori si soffermano sempre sulle differenze di comportamento di C# rispetto ad altri linguaggi come C++, Java e Visual Basic .NET.

Questa è una comodità in più per chi proviene da altri settori di sviluppo.

Un altro aspetto positivo è che affrontano non solo C# in quanto tale, ma anche come utilizzarlo in differenti scenari, che in altri manuali di questo tipo non sono presenti. Ad esempio lo sviluppo web con ASP.NET, i servizi di Windows, internet, ecc.

Il fatto poi che non faccia uno smodato uso di Visual Studio (a parte il capitolo ad esso dedicato), con screenshot dei vari passaggi, può essere visto come un pregio o un difetto a seconda dei gusti del lettore.

Non ci sono nemmeno procedure guidate passo per passo, sullo stile della collana “Step by step” della Microsoft Press. E nemmeno esercizi riepilogativi o domande a quiz a cui rispondere (sullo stile di alcuni testi della O’Reilly, ad esempio).

Tutto il discorso, insomma, è improntato ad un approccio puristico al linguaggio, senza farsi distrarre dai tool con cui lo si usa.

 

Il tipico utilizzo di un libro come questo è di non essere letto sequenzialmente, capitolo dopo capitolo (impresa che richiederebbe una considerevole quantità di tempo a disposizione), ma di concentrarsi su alcuni capitoli alla volta che riguardano gli argomenti che si vuole approfondire.

In questa nuova edizione viene dato largo spazio a LINQ, WPF, WCF e WF, le novità essenziali di questa nuova versione del framework, oltre a trattare ogni sfaccettatura del linguaggio in quanto tale.

Fatte queste premesse, credo si abbia un’idea più chiara della tipologia di questi testi.

A questo punto è difficile trovare in essi gravi aspetti negativi. Gli autori, infatti, sono delle vere eminenze in materia, e conoscono perfettamente l’argomento. L’impaginazione e la rilegatura della Wrox sono all’altezza della situazione. I pochi, e venali, “problemi” con cui mi ero riscontrato nelle precedenti edizioni erano legati per lo più ad una leggera prolissità in varie parti, come anche ad una scelta non ottimale (a mio modo di vedere, è ovvio) della successione dei vari capitoli.

 

Cosa cambia ora nella versione in italiano?

Innanzitutto noto che si sono perse circa 300 pagine. Nella versione originale il testo è di 1848 pagine, mentre nella versione tradotta sono 1558. Ma ciò può anche essere dovuto ad una maggiore “compressione” del testo. Basta allora osservare i due indici a confronto per capirne il motivo. Nella versione Wrox i capitoli sono 48, mentre nella versione italiana si riducono a 43. Ne mancano quindi 5.

Facendo il gioco delle differenze si scopre che sono stati esclusi i due capitoli dedicati ad ASP.NET, quello su Ajax, quello sui Visual Studio Tools per Office e quello sulla programmazione con SQL Server.

Immagino che, per contenere il numero di pagine all’interno di una dimensione accettabile, la Hoepli abbia deciso di “sacrificare” argomenti che, o vengono trattati in altri libri (quelli su ASP.NET e Ajax nell’altro libro “ASP.NET 3.5 – Guida per lo sviluppatore”), oppure hanno meno stretta attinenza con il linguaggio (i VSTO e SQL Server). Idee mie, non conosco le vere motivazione che può avere avuto la casa editrice nel fare questa scelta.

 

Tra l’altro anche le tre appendici presenti nella versione Wrox, non sono riuscite ad entrare nel testo Hoepli,
e nemmeno nel file specifico scaricabile dal sito (poi spiego il perché).

Il risultato comunque è di tutto rispetto: un librone di 1500 pagine e passa non si trova tutti i giorni e non passa inosservato.

Qualche problema si verifica nell’impaginazione e nel layout. Innanzitutto la qualità della carta: troppo liscia e sottile (non velina ma quasi). Questo, oltre a sacrificare un po’ la possibilità di prendere appunti in matita, conferisce al libro un peso specifico incredibilmente elevato. Arriva a pesare tantissimo, anche di più di libri ben più grossi. Provare per credere.

 

La copertina troppo sottile per le dimensioni di ciò che deve contenere è destinata inesorabilmente a disfarsi dopo poche settimane di utilizzo, a meno di non aver grande cura nel maneggiare il testo.

Ma è su come viene presentato il contenuto che non mi sono trovato molto bene. I primi testi Hoepli pubblicati nel 2002/2003 erano fatti molto bene, ma ultimamente la cura nell’impaginazione sembra che si sia persa un po’ per strada. Codice degli esempi scritto con una carattere troppo alto, troppo spaziato, troppo sottile e male indentato. Si legge davvero male, è indubbio.

Anche la scelta di utilizzare per le parole chiave un font con una dimensione più grande del testo circostante contribuisce a sfalsare le righe nei paragrafi, dando un’impressione di ondeggiamento.

 

La traduzione, pur nel complesso non malaccio, si lascia prendere la mano nella traduzione di termini altrimenti intraducibili. “LINQ to SQL” (che dovrebbe restare così) diventa “LINQ per SQL” (quasi da’ un certo fastidio all’orecchio). E fa un certo effetto leggere di “appartamenti” per il concetto di “apartment” nel capitolo sul threading.

 

Dal sito della Hoepli  è possibile scaricare 5 file, il primo di appendice e gli altri riguardanti il codice dei vari capitoli.

Questo è l’elenco, con tra parentesi le dimensioni.

 

  • Appendici.zip (2,57 MB)
  • Cap. 1-12.zip (0,91 MB)
  • Cap. 13-24.zip (25,5 MB)
  • Cap. 25-36.zip (5 MB)
  • Cap. 37-48.zip (11,8 MB)

 

Per quanto riguarda il codice dei vari capitoli, all’interno di ogni file zippato questi sono raggruppati per i capitoli di pertinenza (una sottocartella per capitolo). A seconda della complessità del capitolo stesso, ogni cartella potrà contenere altre sottocartelle, piuttosto che file singoli (come accade per i primi capitoli, i meno complessi del libro).

 

Per le appendici invece si verifica un problema. Uno si potrebbe aspettare che siano i pdf delle tre appendici della versione Wrox, tra l’altro piuttosto interessanti:

 

  • Appendix A: ADO.NET Entity Framework.
  • Appendix B: C#, Visual Basic, and C++/CLI.
  • Appendix C: Windows Vista and Windows Server 2008.

 

E invece no. Sono gli esempi di codice utilizzati in queste appendici. Esempi che, a questo punto, saranno di un’utilità molto limitata. Peccato questa svista, che non so se sia voluta o meno.

 

Insomma, un consiglio per la casa editrice. Dalla prossima edizione della Wrox (prevista a marzo 2010), prestare più attenzione alla traduzione. Non aver paura nel lasciare qualche termine non tradotto, è giusto così.

Ricordarsi che se nella versione originale ci sono delle appendici, e si decide di non metterle nel libro per contenerne le dimensioni, bisogna renderle disponibili sul sito (come pdf completi, e non come codice sorgente).

E soprattutto migliorare decisamente impaginazione e qualità della carta.

 

Voto complessivo: 9/10 (per la versione inglese) – 5,5/10 (per la versione italiana)

 

Lettore: Intermedio

 

Sommario

Cap. 1: L'architettura .NET

Cap. 2: Le basi del C#

Cap. 3: Oggetti e tipi

Cap. 4: Ereditarietà

Cap. 5: Vettori

Cap. 6: Operatori e cast

Cap. 7: Delegate ed eventi

Cap. 8: Stringhe ed espressioni regolari

Cap. 9: I generici

Cap. 10: Collezioni

Cap. 11: Language Integrated Query

Cap. 12: Gestione della memoria a puntatori

Cap. 13: Reflection

Cap. 14: Errori ed eccezioni

Cap. 15: Visual studio 2008

Cap. 16: Distribuzione

Cap. 17: Gli Assembly

Cap. 18: Tracing e logging degli eventi

Cap. 19: Threading

Cap. 20: Sicurezza

Cap. 21: Localizzazione

Cap. 22: Transazioni

Cap. 23: Servizi di Windows

Cap. 24: Interoperabilità

Cap. 25: Gestione dei file e del registro di sistema

Cap. 26: Accesso ai dati

Cap. 27: LINQ per SQL

Cap. 28: Utilizzare XML

Cap. 29: LINQ per XML

Cap. 30: Windows form

Cap. 31: In dati in .NET

Cap. 32: Grafica con GDI+

Cap. 33: Windows Presentation Foundation

Cap. 34: WPF avanzato

Cap. 35: Add-in

Cap. 36: Accedere a Internet

Cap. 37: Windows Communication Foundation

Cap. 38: Windows Workflow Foundation

Cap. 39: Enterprise service

Cap. 40: Code di messaggi

Cap. 41: Servizi di directory

Cap. 42: Reti peer-to-peer

Cap. 43: Syndication.

 

Titolo: C# 2008 – Guida per lo sviluppatore
Autori: Nagel C., et alii
Editore: Hoepli
ISBN: 978-88-203-3738-4
Pagine: 1558
Prezzo: 59,90 €
Data di uscita: Lug. 2008

Categoria: Books
lunedì, 16 nov 2009 Ore. 10.30

Messaggi collegati


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