Bit a bit, si cresce sempre


Blog di un ingeformatico
Statistiche
  • Views Home Page: 515.540
  • Views Posts: 1.632.870
  • Views Gallerie: 831.038
  • 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 Illustrated C# 2005

Titolo:        Illustrated C# 2005
Autore:       Daniel Solis
Editore:      Apress
ISBN:          1590597230
Pagine:       592
Prezzo:         26,39 $ (su Amazon)
Data di uscita: 18/12/2006

È ormai una consuetudine: chi deve imparare un linguaggio di programmazione, qualunque sia, sa già che dovrà impiegare un sacco di tempo per leggere enormi tomi scritti fitti fitti, i quali, necessariamente, richiederanno un certo minimo lasso di tempo prima di consentire al lettore di scrivere del codice autosufficiente e significativo. Dan Solis, l’autore di questo libro, ha il merito di avere tracciato un’altra via. Come dice il titolo, si può insegnare un argomento, già ostico di suo, facendo largo uso di immagini e grafici, in modo da renderlo in un certo senso “visuale”, e come ben sappiamo le immagini restano scolpite nella memoria molto meglio delle parole. 

Il primo capitolo tratta in maniera completa ma sintetica le caratteristiche e la struttura del .NET Framework, ed i vantaggi di esso rispetto al vecchio mondo COM. Con il secondo capitolo si inizia invece a trattare delle basi del C#, illustrando semplici programmi di tipo Console. Già da questi primi due capitoli si notano subito le caratteristiche di questo libro, che si ritroveranno in tutti i capitoli successivi, ovvero il grande uso di figure, immagini e grafici, i commenti direttamente nel codice (scritto su sfondo grigio) tramite l’uso di freccette e vari indicatori e capitoli non eccessivamente lunghi e ricchi di brevi paragrafi. L’effetto è comunque buono, aiuta veramente a fissare i concetti. Un’altra caratteristica pervasiva è anche l’ariosità (se così si può chiamare) delle pagine, ovvero tanto spazio bianco, che evita l’effetto opprimente di tanti altri testi sullo stesso argomento (in sostanza c’è quindi parecchio spazio per scrivere appunti). Una nota: per visualizzare a video i risultati degli esempi, aggiungere un’istruzione Console.ReadLine() al termine del metodo Main, dato che senza di essa, come è nel codice del libro, non si fa in tempo a vedere la finestra DOS.

Non ci sono esempi di codice molto lunghi, o che vengono completati man mano nel corso dei capitoli, ma sono presenti numerosissimi piccoli pezzi di codice (snippet) che applicano i concetti appena spiegati.

Si prosegue poi con un’approfondita disquisizione dei concetti object-oriented, e questo differenzia il libro da molti altri che mettono a fuoco prima altri argomenti, quali i cicli e le eccezioni, il tutto accompagnato, come sempre da molte immagini che coadiuvano la parte scritta. Soprattutto il quinto capitolo spiega visivamente come i metodi posizionano le variabili nelle aree di memoria “stack” e “heap”, e questo difficilmente si trova in altri testi (ed aiuta molto nell’assimilazione dei concetti). I capitoli 4,5,6 e 7 forniscono una trattazione incredibilmente approfondita sulla programmazione ad oggetti, e rappresentano uno dei plus di questo libro.

Si prosegue poi con gli altri consueti argomenti, dalla gestione degli errori, ai cicli, alle strutture ed alle enumerazioni. Con il 14esimo capitolo, dedicato agli array, direi che si conclude la parte “basic” del C#, e chi non necessita di argomenti avanzati, o delle novità della versione 2005 del linguaggio, si può anche fermare qui. Gli argomenti dei capitoli dal 15esimo al 23esimo (ultimo) riguardano argomenti di minor frequente utilizzo, come i delegati, le interfacce, le direttive di preprocessore, i generici e i metodi anonimi, questi ultimi due non presenti nella prima versione di C# del 2002. Data la precedente esperienza dell’autore come programmatore C/C++ (tra l’altro è un biologo, come studi universitari), spesso si trovano note a margine che illustrano le differenze di questi linguaggi col C#.

Non sono presenti esercizi da risolvere al termine dei capitoli, come anche riassunti o sommari (spesso inutili).

La cura nella revisione delle bozze, grazie anche alla presenza di uno specifico revisore tecnico, è eccellente, rendendo il libro immune da refusi ed errori, sia nello scritto che nel codice (e chi programma sa quanto questo sia importante). Purtroppo alcuni esempi, soprattutto quelli nel capitolo dedicato alle Struct, mancano di riportare l’output che il progetto di tipo Console stamperebbe a video, e quindi il lettore si deve immaginare di come possa apparire il risultato, a meno di provarli uno per uno con il proprio pc. L’inglese utilizzato dall’autore è molto comprensibile, e in virtù del fatto di non avere lunghi brani scritti, rende il libro ben usufruibile dai lettori italiani non fluentissimi con l’inglese.

L’autore non dedica però spazio a Visual Studio: non ci sono schermate di esso, né ne viene illustrato l’utilizzo, tranne che brevi cenni sparsi qua e là. Considerando che il 99% di chi legge questo libro utilizzerà questo ambiente di sviluppo, avrei apprezzato almeno un capitolo dedicato ad esso.

Il codice scaricabile dal sito è ben suddiviso in capitoli, e vengono fornite le solution di Visual Studio 2005 già pronte per essere eseguite. Consiglio di prendere spunto da questi esempi per arricchirli man mano che aumentano le conoscenze.

Alla pagina  è presente la scheda completa del libro, con la possibilità di scaricare, in formato pdf, il sommario dettagliato, il codice utilizzato negli esempi (450 KB circa, che diventano 1,5 MB scompressi) e il 14esimo capitolo dedicato agli array (una ventina di pagine).

 

Pro

Il linguaggio C# insegnato come raramente capita di trovare; visivamente, con una trattazione fluente e ricca di immagini e grafici. Eccellente e vasta la parte dedicata alla programmazione ad oggetti. Ottima impaginazione e rilegatura. Un libro valido sia per chi si è avvicinato da pochissimo a questo linguaggio, sia a chi già lo conosce bene. Il fatto di ritrovare, in forma visiva, concetti già conosciuti, aiuta molto a scoprire nuove sfaccettature o particolarità, che magari si davano per scontate o, peggio, si ignoravano del tutto.

Apprezzabile anche il fatto di avere tanti capitoli di lunghezza non eccessiva, piuttosto che pochi ma lunghissimi; in questo modo trovo più facile gestire ed assimilare i contenuti (ogni capitolo richiede circa un’ora, esercizi compresi).

 

Contro

Questo libro non ha molti difetti. Solo una piccola annotazione: mi sarebbe piaciuto ritrovare anche un capitolo dedicato a Visual Studio 2005 e magari pure uno che gettasse le basi di ADO.NET, ma ciò avrebbe necessariamente allungato la trattazione, e forse è meglio così, come lo ha impostato l’autore.

Ricordo che tutti gli esempi sono di tipo Console, quindi chi necessita di imparare C# finalizzato alla creazione di interfacce Windows o pagine web, è meglio che si indirizzi a libri più specifici.

 

Voto complessivo: 9/10

Livello: Principiante/Intermedio

 

Summary

About the Author

About the Technical Reviewer

Acknowledgments

Introduction

1- Chapter 1 C# and the .NET Framework

15 - Chapter 2 Overview of C# Programming

29 - Chapter 3 Types, Storage, and Variables

43 - Chapter 4 Classes: The Basics

61 - Chapter 5 Methods

95 - Chapter 6 More About Classes

139 - Chapter 7 Classes and Inheritance

171 - Chapter 8 Expressions and Operators

209 - Chapter 9 Statements

239 - Chapter 10 Namespaces and Assemblies

265 - Chapter 11 Exceptions

285 - Chapter 12 Structs

295 - Chapter 13 Enumerations

307 - Chapter 14 Arrays

333 - Chapter 15 Delegates

353 - Chapter 16 Events

371 - Chapter 17 Interfaces

397 - Chapter 18 Conversions

427 - Chapter 19 Generics

455 - Chapter 20 Enumerators and Iterators

481 - Chapter 21 Attributes

503 - Chapter 22 Preprocessor Directives

515 - Chapter 23 Other Topics

543 – Index

Categoria: Books
lunedì, 02 lug 2007 Ore. 09.37

Messaggi collegati


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