Libri/ I testi per apprendere il C/C++

C e C++ sono linguaggi che ancor oggi rivestono grande importanza, e non solo nella programmazione a basso livello. Sono tantissimi i volumi a loro dedicati, e fra questi si trovano due grandi classici

I testi classici di riferimento per i programmatori C e C++ sono rispettivamente il Kerninghan & Ritchie e lo Stroustroup, scritti dagli stessi creatori dei linguaggi.
Per un approccio più aggiornato e moderno è consigliabile però rivolgersi ai testi di Herbert Schildt:

* Il linguaggio C: Guida Completa (IIIa edizione) - McGraw-Hill, 2000 (89.000 Lire)
* Guida al C++ (IIa edizione) - McGraw-Hill, 2000 (75.000 Lire)

Sin dalla prima edizione di "Il linguaggio C" lo stile di Schildt mi ha colpito per nitore e precisione, e ha ricoperto un ruolo fondamentale nella mia formazione di sviluppatore (quasi otto anni fa).
L'approccio al linguaggio è decisamente accademico, e potrebbe risultare leggermente ostico a chi provenga da esperienze hobbistiche o autodidattiche. Ma, superato l'impatto iniziale, la sinteticità e la precisione dell'autore divengono funzionali all'obiettivo di apprendere in poco tempo le basi della programmazione.
Aneddoti, resoconti storici e annotazioni di stile rendono la lettura interessante e divertente anche per chi semplicemente voglia ampliare la base culturale della sua formazione tecnica.
Questa nuova edizione è stata migliorata in molti punti; in particolare viene specificato nei dettagli il nuovo standard C99 che rimpiazza l'ormai obsoleto C89.
Il pesante volume (quasi 800 pagine) è diviso in sei sezioni.
Nella prima vengono gettate le basi della struttura e della sintassi del linguaggio.
La seconda presenta invece il nuovo standard venuto alla luce lo scorso anno dopo quasi un lustro di gestazione.
La terza approfondisce la conoscenza con le librerie per ampliare la classe di funzioni a disposizione del programmatore.
Queste tre parti rappresentano un ottimo manuale di riferimento per il programmatore, e lo rendono il testo ideale da tenere sulla scrivania per una consultazione rapida.
Nelle ultime tre vengono trattati argomenti approfonditi e utili anche per il programmatore esperto.
Nella quarta parte, infatti, alcuni algoritmi classici (come quelli per il sorting e la gestione delle strutture dati dinamiche) vengono riproposti nella loro versione C; pregevoli gli accenni agli algoritmi per l'intelligenza artificiale e la gestione del parsing delle espressioni.
Nella quinta parte viene toccato (debolmente) il tasto della programmazione in ambiente Windows 2000 con le tecniche standard C. Il capitolo è di sicuro rilievo, ma rappresenta più
che altro un accenno di problematiche che da sole meritano intere enciclopedie; certamente però può rappresentare un punto di partenza per chi decida di approfondire la conoscenza delle API di Windows e del suo kernel senza ricorrere ai classici strumenti di sviluppo visuale.
Più calzanti, forse, i capitoli dedicati al software engineering e al test & debug delle applicazioni, argomenti spesso snobbati nei manuali e che invece dovrebbero far parte del bagaglio di ciascun programmatore.
L'ultima parte affronta la realizzazione di un progetto complesso, un interprete C scritto in C, che coglie il duplice obiettivo di mostrare nella pratica i concetti e le strutture esposte nei precedenti capitoli e di affrontare e risolvere alcune delle problematiche del linguaggio in cui si incorre normalmente nella realizzazione di un progetto di dimensioni estese.

Il mio scetticismo nei confronti delle traduzioni dei manuali tecnici trova putroppo alcuni (sporadici) riscontri anche in questo caso: infatti la manipolazione dei "code snippet" da parte del traduttore può portare effetti indesiderati.
Qui troviamo alcune imprecisioni: a pagina 24 il listato di un programma e relativo output sono stati rimpiazzati dalla copia degli esempi precedenti; a pagina 84 vengono citate due stringhe che dovrebbero essere differenti esclusivamente per la presenza di un carattere blank, che però è scomparso; in un esempio di pagina 187 nell'header di una funzione viene dichiarata una fantomatica variabile "o", ma nel corpo si usa invece la variabile "c"...
Errori di questo genere, che fanno sorridere il lettore esperto, possono confondere il principiante. Per fortuna, anche se il libro è sprovvisto di CD-ROM di esempi, è possibile scaricarne il codice sorgente dal web.
Sembra invece esente da queste pecche la "Guida al C++", il prossimo volume che andiamo a trattare.
TAG: sw
1 Commenti alla Notizia Libri/ I testi per apprendere il C/C++
Ordina
  • Forse ho letto male l'articolo, però si inizia a parlare improvvisamente di un certo "testo di schildt" senza dire neanche i ltitolo o altro.
    Vi consiglio di stare più attenti durante la stesura degli articoli (secondo me vi siete mangiati un paragrafo o due..).
    Comunque a mio parere i migliori libri al mondo per iparare C e successivamente C++ sono quelli dei fratelli Deitel pubblicati in italia da Apogeo.
    non+autenticato