Della serie “Sempre-meglio-avere-almeno-un-libro-su-un-argomento-anche-se-per-ora-non-lo-si-usa-ma-non-si-sa-mai” (ok, il nome della serie è un po’ lungo, ma rende l’idea) mi sono deciso a prendere un libro che costituisse la mia base nel caso mi sorgesse la necessità di imparare C++, l’evergreen dei linguaggi di programmazione. Non ne possedevo infatti nemmeno uno; così ho fatto una visitina ad una libreria ben organizzata (la Hoepli di Milano) per scegliere quello più adatto alle mie esigenze.
I miei driver di scelta erano:
1) Adatto ai principianti assoluti (quale sono io in questo linguaggio)
2) Facile e piacevole da leggere (ovvero, inglese comprensibile)
3) Non troppo piccolo ma nemmeno enorme (che mi serva, insomma, sia come inizio che come proseguimento nel caso dovessi andare oltre l’infarinatura).
4) Di più possibile recente pubblicazione (sempre meglio scegliere libri recenti, direi)
5) Che non costi uno sproposito (anche perché sarebbero, per ora, soldi a fondo perduto)
6) Di piacevole maneggiabilità (rilegatura non rigida e carta liscia ma non velina)
7) Se poi ha un Cd con tutto l’occorrente (compilatori, ecc.), meglio ancora
Con tutti questi requisiti sembrerebbe un’impresa impossibile trovarne uno che li soddisfi in un colpo solo, e invece non è così.
Gli autori hanno suddiviso questo “voluminoso volume” in 7 parti (da qui il nome), chiamate ciascuna “MiniBook”, dato che potrebbero costituire un piccolo libro a se stante.
Si parte dagli elementi base, per chi non sa nulla di C++ e nemmeno di programmazione (MiniBook 1 – il più lungo di tutti), per terminare con l’utilizzo delle MFC con Visual Studio 2008 SP1 (unico caso di utilizzo di VS, dato che negli altri MiniBook si usa un altro compilatore).
In mezzo a questi c’è tutta la varietà di questo ricchissimo (soprattutto come librerie) e potente linguaggio ad oggetti, utilizzato in ogni dove e su ogni piattaforma.
Il font utilizzato per il testo e la sua dimensione sono l’ideale per la leggibilità (presumo sia il Times New Roman). Il codice è scritto in un font leggermente più piccolo rispetto al testo, ma è molto leggibile anch’esso, grazie anche ad una perfetta indentazione. Si fa un sapiente uso del grassetto, e le numerose icone a lato segnalano aspetti particolarmente importanti, consigli pratici o note varie. Queste ultime, quando sono consistenti, sono raggruppate in box separati (con sfondo grigio), dove il lettore può approfondire aspetti particolari o di contorno.
La rilegatura poi è fantastica. Si riesce tranquillamente a tenere aperto il libro in qualsiasi pagina sulla scrivania senza doverci appoggiare nulla, e ciò malgrado la sua non piccola dimensione. Magari tutti i testi fossero così.
Alla fine dei capitoli non sono presenti esercizi da completare o domande a cui rispondere.
Di esempi di codice però ce ne sono, magari non tantissimi ma ritengo la loro presenza più che sufficiente.
Spesso infatti il lettore di libri di programmazione viene inondato da esempi. In questo caso gli autori preferiscono mostrare esempi significativi, anche se non numerosi, dando particolare importanza ad un loro approfondito commento.
Per quanto riguarda gli esempi proposti, non posso dire se poi compilano effettivamente…
Quindi questa non è una vera e propria recensione, come per gli altri libri di programmazione che ho recensito su questo blog.
Tante informazioni su questo libro si possono recuperare dalla dedicata pagina del sito della Wiley.
Da qui sono scaricabili, in Pdf, il sommario dettagliato (14 pagine), le 16 pagine che costituiscono il primo capitolo della settima ed ultima parte (“Working with the Visual C++ 2008 IDE and Projects”) e l’indice dettagliato.
Il Cd contiene circa 130 MB di materiale.
Innanzitutto il compilatore utilizzato nel libro, “CodeBlocks”, nella sua versione 8.20.
Poi tutti gli esempi di codice presenti, ben suddivisi per “book” e per capitolo.
Per avviare il Cd basta lanciare il file start.exe (se non parte in automatico con Windows), e poi si apre un form windows con il logo della serie “For Dummies”.
Per la quantità di materiale offerto, e per la cura con cui viene proposto, bisogna dire che indubbiamente gli autori hanno fatto un grande ed impegnativo lavoro.
Ovviamente in questo caso non posso proporre un voto finale, e nemmeno i soliti “Pro” e “Contro”.
Queste considerazioni nascono dal primo impatto – anche se un po’ approfondito – di un principiante sulla materia.
Però devo ammettere, questo libro si presenta così bene che fa venire voglia di mollare tutto il mondo .NET e lanciarsi nell’apprendimento di questo linguaggio. Chissà se ne avrei un qualche vantaggio.
Sommario
1 - Introduction
7 - Book I: Introducing C++
9 - Chapter 1: Creating a First C++ Program
29 - Chapter 2: Storing Data in C++
59 - Chapter 3: Directing Your C++ Program Flow
83 - Chapter 4: Dividing Your Work with Functions
109 - Chapter 5: Dividing Between Source-Code Files
123 - Chapter 6: Referring to Your Data through Pointers
151 - Chapter 7: Working with Classes
187 - Chapter 8: Using Advanced C++ Features
223 - Book II: Understanding Objects and Classes
225 - Chapter 1: Planning and Building Objects
255 - Chapter 2: Describing Your Program with UML
275 - Chapter 3: Structuring Your Classes with UML
287 - Chapter 4: Demonstrating Behavior with UML
305 - Chapter 5: Modeling Your Programs with UML
317 - Chapter 6: Building with Design Patterns
347 - Book III: Fixing Problems
349 - Chapter 1: Dealing with Bugs
361 - Chapter 2: Debugging a Program
373 - Chapter 3: Stopping and Inspecting Your Code
385 - Chapter 4: Traveling About the Stack
395 - Book IV: Advanced Programming
397 - Chapter 1: Working with Arrays, Pointers, and References
427 - Chapter 2: Creating Data Structures
449 - Chapter 3: Constructors, Destructors, and Exceptions
477 - Chapter 4: Advanced Class Usage
503 - Chapter 5: Creating Classes with Templates
535 - Chapter 6: Programming with the Standard Library
567 - Book V: Reading and Writing Files
569 - Chapter 1: Filing Information with the Streams Library
583 - Chapter 2: Writing with Output Streams
597 - Chapter 3: Reading with Input Streams
609 - Chapter 4: Building Directories and Contents
619 - Chapter 5: Streaming Your Own Classes
631 - Book VI: Advanced C++
633 - Chapter 1: Exploring the Standard Library Further
651 - Chapter 2: Building Original Templates
671 - Chapter 3: Investigating Boost
697 - Chapter 4: Boosting up a Step
713 - Book VII: Building Applications with Microsoft MFC
715 - Chapter 1: Working with the Visual C++ 2008 IDE and Projects
731 - Chapter 2: Creating an MFC Dialog Box Project
747 - Chapter 3: Creating an MFC SDI Project
769 - Chapter 4: Using the Visual C++ 2008 Debugger
779 - Chapter 5: Analyzing Your Visual C++ 2008 Code
785 - Appendix A: Automating Your Programs with Makefiles
797 - Appendix B: About the CD
801 - Index
Titolo: C++ All In One For Dummies (Second Edition)
Autori: John Paul Mueller, Jeffrey M. Cogswell
Editore: Wiley
ISBN: 978-0-470-31735-8
Pagine: 864
Prezzo: 33,40 € (prezzo di copertina)
Data di uscita: Sett. 2009