Guida I migliori libri per imparare e approfondire il C++

Max Fridman

Community Manager
Amministratore
8 Agosto 2010
7,147
692
6,958
3,233
Ultima modifica:
In questo articolo scopriremo quali sono i libri più indicati per lo studio e l'approfondimento del linguaggio di programmazione C++.

Una delle domande che viene fatta più spesso sul forum è "Da quale libro posso cominciare a studiare?"

I consigli che vi verranno dati sono molteplici soprattutto se la domanda riguarda il linguaggio C++, abbiamo deciso quindi di creare una lista dei libri che abbiamo trovato più utili, dividendoli per categorie:
  • Per chi inizia a programmare e sceglie il C++ come primo linguaggio (senza basi di programmazione);
  • Per chi vuole imparare (con basi di programmazione);
  • Per chi vuole approfondire.

c++.png





1    I migliori libri per cominciare a programmare in C++



Per chi vuole imparare a programmare partendo dal linguaggio C++, i libri che ci sentiamo di consigliarvi, in italiano sono i seguenti:


1.1    Programmazione in C++ (D.S. Malik)


1.2    Programmazione Object-Oriented in C++ (Marco Bertini)



Il primo libro è un po’ più lungo, si sofferma anche sulle basi della programmazione ed è un po’ più prolisso nel trattare i diversi aspetti del linguaggio. Il secondo invece da una panoramica molto più completa del linguaggio e spiega molto meglio la programmazione orientata agli oggetti, insomma da due libri ne ricaviamo uno più completo.


1.3    C++ Fondamenti di programmazione (Deitel)

Un altro libro consigliato è il Deitel che dal nostro punto di vista non è il massimo, un po’ dispersivo e molte volte non si capisce dove vuole arrivare. Un punto a favore di questo libro è che come per quello riguardante il C, parte davvero dalle basi e tratta diversi aspetti del problem solving ma in generale ti lascia con l’amaro in bocca.

Se conoscete un minimo di inglese e volete andare sul sicuro vi consigliamo anche questo libro:


1.4    C++ Primer (Stanley B. Lippman, Stanley Lippman e Barbara Moo)


Qui trovate tutto ciò che vi serve per imparare a programmare in C++, dalle basi sino ad un livello intermedio. In formato Kindle costa davvero poco rispetto a quello che vi può insegnare e che non vi insegnano gli altri libri.


1.5    Programming: Principles and Pratictive Using C++ (Bjarne Stroustrup)

Un altro ottimo testo in lingua inglese che consigliamo è quello di Bjarne Stroustrup.




2    I migliori libri per imparare il C++



Per chi ha già familiarità con la programmazione e vuole imparare il linguaggio C++ vi consigliamo questo libro in inglese scritto dal creatore del linguaggio:

2.1    A Tour of C++ (Bjarne Stroustrup)


Non molto lungo ma davvero intenso, un po’ più didattico ed aggiornato (C++17) del classico C++. Linguaggio, libreria standard, principi di programmazione che invece è il manuale per antonomasia del linguaggio, anche se fermo allo standard C++11.


2.2    The C++ Programming Language (Bjarne Stroustrup)

Questo è un testo consigliato a chi ha già dimestichezza con C++, è sempre di Stroustrup.




3    I migliori libri per approfondire il C



I due libri a seguire invece sono un must read, per chi vuole approfondire e migliorare la qualità del suo codice:


3.1    Programmazione C++ moderna (Scott Meyers)


3.2    The C++ Standard Library: A Tutorial and Reference (Nicolai M. Josuttis)



Nel primo libro si possono trovare innumerevoli spunti per capire come usare le innumerevoli features offerte dal linguaggio e soprattutto quali preferire rispetto ad altre, ad esempio: quando preferire constexpr ed usarlo quando possibile, come usare al meglio gli smart pointers, perché preferire l’aliasing con using al solito typedef e via scorrendo. Il secondo libro invece è utilissimo per capire come muoversi tra le innumerevoli funzionalità offerte dalla libreria standard, molte delle quali non le usiamo o le usiamo poco e male.



4    Altri consigli su Libri da leggere su Informatica e Programmazione



 
I due libri (in inglese) che solitamente consiglio di leggere sono:
Partono dal presupposto che il lettore non abbia basi di programmazione e spiegano minuziosamente ogni particolare e feature del linguaggio.
Ho incluso anche la versione in C in quanto è obbligatorio studiarsi il C per chi vuole imparare il C++.

Grazie mille per i testi suggeriti. Mentre, sul piano della lingua italiana avresti qualche altro testo che ti sentiresti di consigliare? Non è per malfidenza verso la guida fatta da Max, ma per quanto ho capito Lollo è piuttosto rinomato per sapere il fatto suo nel campo della programmazione e non solo, dunque mi piacerebbe sapere se almeno condivide i suggerimenti di Max relativi ai testi consigliati.
 
Grazie mille per i testi suggeriti. Mentre, sul piano della lingua italiana avresti qualche altro testo che ti sentiresti di consigliare? Non è per malfidenza verso la guida fatta da Max, ma per quanto ho capito Lollo è piuttosto rinomato per sapere il fatto suo nel campo della programmazione e non solo, dunque mi piacerebbe sapere se almeno condivide i suggerimenti di Max relativi ai testi consigliati.

Testi in italiano fatti bene ne esistono pochi , quelli in inglese osno i top best buy
 
Grazie mille per i testi suggeriti. Mentre, sul piano della lingua italiana avresti qualche altro testo che ti sentiresti di consigliare? Non è per malfidenza verso la guida fatta da Max, ma per quanto ho capito Lollo è piuttosto rinomato per sapere il fatto suo nel campo della programmazione e non solo, dunque mi piacerebbe sapere se almeno condivide i suggerimenti di Max relativi ai testi consigliati.
Quei testi in inglese ti introducono alla corretta terminologia di ogni feature del linguaggio. Ti capiterà molto spesso di bazzicare su google/stackoverflow alla ricerca, quindi ti servirà enormemente.
Dopo averli letti dovrai colmare le lacune sui nuovi standard, ma è roba veloce al confronto:
https://en.wikipedia.org/wiki/C++20 (ma questo è ancora poco supportato dai vari compiler in data odierna)
I più importanti sono constexpr, lambda, std::any, variable declarament nell'if stesso, ed vari miglioramenti a feature pre-esistenti come auto e string literal "qualcosa"s.

https://en.cppreference.com/w/cpp/utility/format/format sarebbe https://fmt.dev/latest/index.html
https://en.cppreference.com/w/cpp/filesystem basato da boost filesystem
 
I due libri (in inglese) che solitamente consiglio di leggere sono:
Partono dal presupposto che il lettore non abbia basi di programmazione e spiegano minuziosamente ogni particolare e feature del linguaggio.
Ho incluso anche la versione in C in quanto è obbligatorio studiarsi il C per chi vuole imparare il C++.
Il c++ è un linguaggio,il c è un altro.
Una persona può imparare il c++ anche senza conoscere il c.
Poi ovviamente se si hanno delle conoscenze del c si è più facilitati nell'imparare il c++ dato che ci sono abbastanza similitudini nei due linguaggi.
 
Il c++ è un linguaggio,il c è un altro.
Una persona può imparare il c++ anche senza conoscere il c.
Poi ovviamente se si hanno delle conoscenze del c si è più facilitati nell'imparare il c++ dato che ci sono abbastanza similitudini nei due linguaggi.
Se conosci solo il c++ senza conoscere anche il c (il suo subset) non vai da nessuna parte. La maggior parte delle api/librerie che userai in c++ sono scritte in c.
 
  • Mi piace
Reazioni: CrashTest
ciao, ho trovato su un sito questi libri (craccati) quale secondo voi dovrei leggere per imparare da zero?
553A1AAA-4D4E-4EDD-BBAE-690F42A3AFCF.jpeg
 

Allegati

  • EA8E598A-E32F-459D-AAB8-412B689F7544.jpeg
    EA8E598A-E32F-459D-AAB8-412B689F7544.jpeg
    1.4 MB · Visualizzazioni: 21
Se conosci solo il c++ senza conoscere anche il c (il suo subset) non vai da nessuna parte. La maggior parte delle api/librerie che userai in c++ sono scritte in c.
No perché a scuola noi abbiamo fatto come primo linguaggio scratch e poi C++ e non dico di conoscerlo bene perché non mi piace però lo so programmare.
Messaggio unito automaticamente:

ciao, ho trovato su un sito questi libri (craccati) quale secondo voi dovrei leggere per imparare da zero?Visualizza allegato 52791
Bei libri qual'è il link del sito?
 

2.2 The C++ Programming Language (Bjarne Stroustrup)​

Questo è un testo consigliato a chi ha già dimestichezza con C++, è sempre di Stroustrup.

Questa secondo me la bibbia, ma con i nuovi standard ovviamente richiederebbe un integrazione/aggiornamento.

Risorse valide anche i canali #c++ in irc, rete "libera chat"


altri canali
#c++-general #c++-basic #c++-social

ovviamente tutto in inglese, ma risposte pressoche immediate a domande.
 
@kernelspace: i canali IRC non c’entrano nulla con una discussione aperta esclusivamente al fine di inventariare libri da cui studiare il C++.

L’unica altra risorsa “ufficialmente” valida (volutamente non aggiunta) per trovare risposte alle vostre domande è isocpp. Non delle chat che rasentano le trollate.
 
La tua risposta sembra pregna di inutile astio, non si capisce perche'. Il mio intervento era intento a dare un integrazione.

I libri non danno soluzioni immediate a un problema, ma sono un elenco spesso di migliaia e migliaia di pagine di nozioni (che facilmente nessuno qui che suggerisce titoli ha letto per intiero), dove in mezzo puo' esserci la soluzione al tuo problema, come anche no.

Ma per esempio, nel mondo del lavoro, se ti metti li a leggere libri ti mandano a casa.

Per chi interessano i canali irc, fonte di soluzioni spesso immediati, e di alto livello, con gente molto preparata di tutto il mondo, mi contatti pure in pvt.
 
@kernelspace: se vedi astio hai equivocato sul senso del mio messaggio. Lamentarsi di quanto sia inefficiente (ovviamente a tuo giudizio) lo studio attraverso i libri in una discussione che mira a raccogliere una lista di libri è tanto accorto quanto andare in un autoconcessionario e dire quanto disprezzi le auto all’opposto delle moto.

I libri servono a darti un’imbastitura dei rudimenti del linguaggio, a chi interessa trovarne uno buono molto probabilmente si sta imbattendo nello studio per iniziare.

A chi serve una moto non va in un’autoconcessionario. Chi cerca una soluzione ad un problema molto specifico non pretende di trovarlo in un libro, che come ho già detto mira ad impartire i concetti di base.
 
@kernelspace: se vedi astio hai equivocato sul senso del mio messaggio. Lamentarsi di quanto sia inefficiente (ovviamente a tuo giudizio) lo studio attraverso i libri in una discussione che mira a raccogliere una lista di libri è tanto accorto quanto andare in un autoconcessionario e dire quanto disprezzi le auto all’opposto delle moto.
ma io non ho disprezzato i libri, dove leggi che ho disprezzato i libri ?

1637665682426.png

1637665710879.png
Ne collezziono e leggo parzialmente da quando ero adolescente.
Ho detto che in certi momenti in cui devi fare delle scelte in tempo utile, e nel mondo del lavoro capita spesso, i libri (a mio avviso) per quando utili da leggere quando si ha tempo, non aiutano.
I libri servono a darti un’imbastitura dei rudimenti del linguaggio, a chi interessa trovarne uno buono molto probabilmente si sta imbattendo nello studio per iniziare.
qui siano d'accordo
A chi serve una moto non va in un’autoconcessionario. Chi cerca una soluzione ad un problema molto specifico non pretende di trovarlo in un libro, che come ho già detto mira ad impartire i concetti di base.
nei canali irc ad esempio, c'e' gente di tutto il mondo a cui magari chiedi il giusto container stl da usare per un certo caso, ti danno risposte/soluzioni veloci, molti conoscono anche nel dettaglio le implementaizoni di ogni diverso compilatore.
 
Una delle domande che viene fatta più spesso sul forum è "Da quale libro posso cominciare a studiare?"

I consigli che vi verranno dati sono molteplici soprattutto se la domanda riguarda il linguaggio C++, abbiamo deciso quindi di creare una lista dei libri che abbiamo trovato più utili, dividendoli per categorie:
  • Per chi inizia a programmare e sceglie il C++ come primo linguaggio (senza basi di programmazione);
  • Per chi vuole imparare (con basi di programmazione);
  • Per chi vuole approfondire.

Visualizza allegato 54800




1    I migliori libri per cominciare a programmare in C++



Per chi vuole imparare a programmare partendo dal linguaggio C++, i libri che ci sentiamo di consigliarvi, in italiano sono i seguenti:


1.1    Programmazione in C++ (D.S. Malik)


1.2    Programmazione Object-Oriented in C++ (Marco Bertini)



Il primo libro è un po’ più lungo, si sofferma anche sulle basi della programmazione ed è un po’ più prolisso nel trattare i diversi aspetti del linguaggio. Il secondo invece da una panoramica molto più completa del linguaggio e spiega molto meglio la programmazione orientata agli oggetti, insomma da due libri ne ricaviamo uno più completo.


1.3    C++ Fondamenti di programmazione (Deitel)

Un altro libro consigliato è il Deitel che dal nostro punto di vista non è il massimo, un po’ dispersivo e molte volte non si capisce dove vuole arrivare. Un punto a favore di questo libro è che come per quello riguardante il C, parte davvero dalle basi e tratta diversi aspetti del problem solving ma in generale ti lascia con l’amaro in bocca.

Se conoscete un minimo di inglese e volete andare sul sicuro vi consigliamo anche questo libro:


1.4    C++ Primer (Stanley B. Lippman, Stanley Lippman e Barbara Moo)


Qui trovate tutto ciò che vi serve per imparare a programmare in C++, dalle basi sino ad un livello intermedio. In formato Kindle costa davvero poco rispetto a quello che vi può insegnare e che non vi insegnano gli altri libri.


1.5    Programming: Principles and Pratictive Using C++ (Bjarne Stroustrup)

Un altro ottimo testo in lingua inglese che consigliamo è quello di Bjarne Stroustrup.




2    I migliori libri per imparare il C++



Per chi ha già familiarità con la programmazione e vuole imparare il linguaggio C++ vi consigliamo questo libro in inglese scritto dal creatore del linguaggio:

2.1    A Tour of C++ (Bjarne Stroustrup)


Non molto lungo ma davvero intenso, un po’ più didattico ed aggiornato (C++17) del classico C++. Linguaggio, libreria standard, principi di programmazione che invece è il manuale per antonomasia del linguaggio, anche se fermo allo standard C++11.


2.2    The C++ Programming Language (Bjarne Stroustrup)

Questo è un testo consigliato a chi ha già dimestichezza con C++, è sempre di Stroustrup.




3    I migliori libri per approfondire il C



I due libri a seguire invece sono un must read, per chi vuole approfondire e migliorare la qualità del suo codice:


3.1    Programmazione C++ moderna (Scott Meyers)


3.2    The C++ Standard Library: A Tutorial and Reference (Nicolai M. Josuttis)



Nel primo libro si possono trovare innumerevoli spunti per capire come usare le innumerevoli features offerte dal linguaggio e soprattutto quali preferire rispetto ad altre, ad esempio: quando preferire constexpr ed usarlo quando possibile, come usare al meglio gli smart pointers, perché preferire l’aliasing con using al solito typedef e via scorrendo. Il secondo libro invece è utilissimo per capire come muoversi tra le innumerevoli funzionalità offerte dalla libreria standard, molte delle quali non le usiamo o le usiamo poco e male.



4    Altri consigli su Libri da leggere su Informatica e Programmazione



Vero ho letto alcuni di quei libri e sono scritti abbastanza bene, anche se io mi sono sempre basato molto su stackoverflow e anche altri forum
 
Una delle domande che viene fatta più spesso sul forum è "Da quale libro posso cominciare a studiare?"

I consigli che vi verranno dati sono molteplici soprattutto se la domanda riguarda il linguaggio C++, abbiamo deciso quindi di creare una lista dei libri che abbiamo trovato più utili, dividendoli per categorie:
  • Per chi inizia a programmare e sceglie il C++ come primo linguaggio (senza basi di programmazione);
  • Per chi vuole imparare (con basi di programmazione);
  • Per chi vuole approfondire.

Visualizza allegato 54800




1    I migliori libri per cominciare a programmare in C++



Per chi vuole imparare a programmare partendo dal linguaggio C++, i libri che ci sentiamo di consigliarvi, in italiano sono i seguenti:


1.1    Programmazione in C++ (D.S. Malik)


1.2    Programmazione Object-Oriented in C++ (Marco Bertini)



Il primo libro è un po’ più lungo, si sofferma anche sulle basi della programmazione ed è un po’ più prolisso nel trattare i diversi aspetti del linguaggio. Il secondo invece da una panoramica molto più completa del linguaggio e spiega molto meglio la programmazione orientata agli oggetti, insomma da due libri ne ricaviamo uno più completo.


1.3    C++ Fondamenti di programmazione (Deitel)

Un altro libro consigliato è il Deitel che dal nostro punto di vista non è il massimo, un po’ dispersivo e molte volte non si capisce dove vuole arrivare. Un punto a favore di questo libro è che come per quello riguardante il C, parte davvero dalle basi e tratta diversi aspetti del problem solving ma in generale ti lascia con l’amaro in bocca.

Se conoscete un minimo di inglese e volete andare sul sicuro vi consigliamo anche questo libro:


1.4    C++ Primer (Stanley B. Lippman, Stanley Lippman e Barbara Moo)


Qui trovate tutto ciò che vi serve per imparare a programmare in C++, dalle basi sino ad un livello intermedio. In formato Kindle costa davvero poco rispetto a quello che vi può insegnare e che non vi insegnano gli altri libri.


1.5    Programming: Principles and Pratictive Using C++ (Bjarne Stroustrup)

Un altro ottimo testo in lingua inglese che consigliamo è quello di Bjarne Stroustrup.




2    I migliori libri per imparare il C++



Per chi ha già familiarità con la programmazione e vuole imparare il linguaggio C++ vi consigliamo questo libro in inglese scritto dal creatore del linguaggio:

2.1    A Tour of C++ (Bjarne Stroustrup)


Non molto lungo ma davvero intenso, un po’ più didattico ed aggiornato (C++17) del classico C++. Linguaggio, libreria standard, principi di programmazione che invece è il manuale per antonomasia del linguaggio, anche se fermo allo standard C++11.


2.2    The C++ Programming Language (Bjarne Stroustrup)

Questo è un testo consigliato a chi ha già dimestichezza con C++, è sempre di Stroustrup.




3    I migliori libri per approfondire il C



I due libri a seguire invece sono un must read, per chi vuole approfondire e migliorare la qualità del suo codice:


3.1    Programmazione C++ moderna (Scott Meyers)


3.2    The C++ Standard Library: A Tutorial and Reference (Nicolai M. Josuttis)



Nel primo libro si possono trovare innumerevoli spunti per capire come usare le innumerevoli features offerte dal linguaggio e soprattutto quali preferire rispetto ad altre, ad esempio: quando preferire constexpr ed usarlo quando possibile, come usare al meglio gli smart pointers, perché preferire l’aliasing con using al solito typedef e via scorrendo. Il secondo libro invece è utilissimo per capire come muoversi tra le innumerevoli funzionalità offerte dalla libreria standard, molte delle quali non le usiamo o le usiamo poco e male.



4    Altri consigli su Libri da leggere su Informatica e Programmazione



Sono ottimi testi se si vuole studiare il C++ nel dettagli, ovviamente si trova tanta documentazione online ma alle volte non basta per togliersi ogni dubbio
 
In pratica devo comprare il primo libro se sono alle prime armi? e dopo averlo letto devo comprare anche ultimi due ? o già nel primo spiega bene? o tutti 3 sono diversi?
 
io vorrei impararlo a fondo questo linguaggio , cosa mi consigli?
Guarda un testo prenditelo, un altro consiglio che ti posso dare se sei all'inizio è quello di utilizzare Code::Blocks ide anche se non è il massimo della vita semplicemente perché funziona out of the box, per il resto devi fare esercizio e guardati video teorici per tutte quelle parti in cui non basta la logica per farli funzionare correttamente, se qualcuno vuole pubblico un PDF con svariati esercizi in ordine di difficoltà, dalle cose più banali a quelle più complesse