RISOLTO Quale manuale acquistare per apprendere il linguaggio C++?

Stato
Discussione chiusa ad ulteriori risposte.

ghosty22

Nuovo Utente
9
0
Salve a tutti! Avrei bisogno di una vostra opinione circa l'acquisto di un manuale in italiano per apprendere il C++, avendo già dimestichezza con la programmazione dal triennio di informatica. Al momento sto seguendo un corso di formazione gratuito sul linguaggio Java che approfondirò sicuramente. Dei due libri che ho trovato non saprei quale acquistare su Amazon: il primo fa riferimento allo standard ISO/IEC 14882:2003, e preferirei avere qualcosa di più aggiornato; il secondo invece fa riferimento allo standard del 2020. Quello che mi confonde sono le recensione più o meno contrastanti fra loro, alcuni consigliano il Deitel anche se troppo datato. Sono al corrente sul fatto che possa comprare dei corsi online su Udemy, ma non è per il momento mia intenzione. Ho già consultato il manuale di Bjarne Stroustrup, quello in rosso pubblicato nel 2019, particolarmente approfondito ma non adatto alle mie esigenze. Non m'ispirano tanto i manuali in inglese anche se avrei comunque a che fare con parecchi termini tecnici, preferirei avere qualcosa di più immediato. Grazie per il vostro parere. ?

Inserisco i link dei libri citati:
1) C++. Fondamenti di programmazione - Deitel&Deitel
2) Fondamenti di programmazione in C++ - McGrawHill
 
Ultima modifica:

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Di Stroustrup quale dei due manuali hai consultato? Perchè uno parte delle basi, mentre l'altro va proprio ad approfondire il linguaggio.
Quello che parte dalle basi è C++. Linguaggio, libreria standard, principi di programmazione.

Il Deitel è sempre un ottimo testo, ma quello standard è troppo vecchio. Ti suggerirei inoltre, anche se hai detto di preferire materiale in lingua italiana, di cercare il testo in inglese, che è sicuramente più aggiornato di quello.

Tra i testi che hai linkato andrei sul secondo. Se non vuoi acquistarlo subito puoi cercarlo in libreria, così lo sfogli e ti fai un'idea... anche se online dovresti riuscire a trovare la tabella dei contenuti.
L'unica cosa che noto dalle recensioni è che il secondo contiene errori; personalmente mi informerei bene o verificherei, perchè potrebbero risultare fastidiosi.
 

ghosty22

Nuovo Utente
9
0
Di Stroustrup quale dei due manuali hai consultato? Perchè uno parte delle basi, mentre l'altro va proprio ad approfondire il linguaggio.
Quello che parte dalle basi è C++. Linguaggio, libreria standard, principi di programmazione.

Il Deitel è sempre un ottimo testo, ma quello standard è troppo vecchio. Ti suggerirei inoltre, anche se hai detto di preferire materiale in lingua italiana, di cercare il testo in inglese, che è sicuramente più aggiornato di quello.

Tra i testi che hai linkato andrei sul secondo. Se non vuoi acquistarlo subito puoi cercarlo in libreria, così lo sfogli e ti fai un'idea... anche se online dovresti riuscire a trovare la tabella dei contenuti.
L'unica cosa che noto dalle recensioni è che il secondo contiene errori; personalmente mi informerei bene o verificherei, perchè potrebbero risultare fastidiosi.
Ho avuto modo di consultare proprio quello che hai linkato tu, e inoltre non c'erano degli esercizi con cui fare pratica che io ricordi. Degli errori diciamo che posso farne a meno, l'importante è che contenga un po' tutti gli argomenti. Per quanto riguarda del manuale in inglese, quale mi consiglieresti?
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Dipende se cerchi anche un libro da consultare o se lo vuoi riguardare da zero. Ci sarebbe "C++ Primer", purtroppo non è aggiornatissimo.
Altri nomi potrebbero essere "C++ Crash Course: A Fast-Paced Introduction", "Effective Modern C++". Come manuale per approfondire il linguaggio, oltre a quelli citati, c'è l'altro testo di Stroustrup (che ovviamente non va bene se stai iniziando), "The C++ Programming Language".
Per qualcosa che parte dalle basi puoi dare uno sguardo a Beginning C++20: From Novice to Professional.

Non ho ovviamente letto tutti i volumi che ti ho linkato; ho letto "Effective Modern C++" tempo fa e posseggo la versione cartacea anche di quello di Stroustrup. C++ non è un linguaggio che uso abitualmente.

Detto ciò, puoi anche consultare il reference ufficiale.
 

ghosty22

Nuovo Utente
9
0
Dipende se cerchi anche un libro da consultare o se lo vuoi riguardare da zero. Ci sarebbe "C++ Primer", purtroppo non è aggiornatissimo.
Altri nomi potrebbero essere "C++ Crash Course: A Fast-Paced Introduction", "Effective Modern C++". Come manuale per approfondire il linguaggio, oltre a quelli citati, c'è l'altro testo di Stroustrup (che ovviamente non va bene se stai iniziando), "The C++ Programming Language".
Per qualcosa che parte dalle basi puoi dare uno sguardo a Beginning C++20: From Novice to Professional.

Non ho ovviamente letto tutti i volumi che ti ho linkato; ho letto "Effective Modern C++" tempo fa e posseggo la versione cartacea anche di quello di Stroustrup. C++ non è un linguaggio che uso abitualmente.

Detto ciò, puoi anche consultare il reference ufficiale.
Starei pensando di prendere quello rosso di Stroustrup... Ma quale sarebbe l'altro volume che approfondisce ulteriormente?
 

DispatchCode

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
Quello che ho riportato li sopra, ovvero "The C++ Programming Language". Quello che parte dalle basi del linguaggio, del medesimo autore, è "Programming: Principles and Practice Using C++".

Comunque se non sei un novizio della programmazione puoi anche utilizzare la sola documentazione ufficiale, e poi cercare blogs.

Taggo qualcuno che usa C++, magari sanno darti qualche dritta ulteriore @BrutPitt e se non erro @Andretti60. Anche se sospetto che al 90% non utilizzeranno più libri, ma si baseranno su risorse disponibili online.
 

ghosty22

Nuovo Utente
9
0
Quello che ho riportato li sopra, ovvero "The C++ Programming Language". Quello che parte dalle basi del linguaggio, del medesimo autore, è "Programming: Principles and Practice Using C++".

Comunque se non sei un novizio della programmazione puoi anche utilizzare la sola documentazione ufficiale, e poi cercare blogs.

Taggo qualcuno che usa C++, magari sanno darti qualche dritta ulteriore @BrutPitt e se non erro @Andretti60. Anche se sospetto che al 90% non utilizzeranno più libri, ma si baseranno su risorse disponibili online.
Ho avuto modo di studiare il C++ al triennio di informatica, per cui ho un po' di dimestichezza con la programmazione e l'uso dei vari IDE. Tra non molto dovrebbe essere rilasciato lo standard 23, e ancora non si è riusciti a pubblicare in italiano un manuale con le ultime novità e abbastanza decente. Avrei preso sicuramente il Deitel se non fosse per il riferimento a uno standard troppo datato.
 

pabloski

Utente Èlite
2,868
916
Se non ci fosse il requisito della lingua italiana, ti consiglierei di partire da qui https://www.learncpp.com/

E concordo sul consiglio riguardo C++ Primer e, a seguire, Effective Modern C++.

Il problema di molti libri è che sono prolissi e vanno per le lunghe. Inoltre il primo contatto con un linguaggio è meglio che sia "superficiale". Toccare tutti gli argomenti, in poche pagine, ma non approfondire troppo.

E programmare tanto. Quando si è acquisita familiarità con la sintassi, i costrutti, il modello di programmazione e la libreria standard, si può andare ad approfondire. Altrimenti ti perdi nelle chiacchiere e mentre concentri la mente sugli argomenti di un capitolo, è facile che dimentichi parte dei precedenti.

Per questo odio i libroni da millemila pagine.
Post unito automaticamente:

Tra non molto dovrebbe essere rilasciato lo standard 23

Il traguardo importante è C++11. I restanti aggiungono delle cose, ma non rivoluzionari. Con C++11 invece sono cambiate molto cose.
 

ghosty22

Nuovo Utente
9
0
Se non ci fosse il requisito della lingua italiana, ti consiglierei di partire da qui https://www.learncpp.com/

E concordo sul consiglio riguardo C++ Primer e, a seguire, Effective Modern C++.

Il problema di molti libri è che sono prolissi e vanno per le lunghe. Inoltre il primo contatto con un linguaggio è meglio che sia "superficiale". Toccare tutti gli argomenti, in poche pagine, ma non approfondire troppo.

E programmare tanto. Quando si è acquisita familiarità con la sintassi, i costrutti, il modello di programmazione e la libreria standard, si può andare ad approfondire. Altrimenti ti perdi nelle chiacchiere e mentre concentri la mente sugli argomenti di un capitolo, è facile che dimentichi parte dei precedenti.

Per questo odio i libroni da millemila pagine.
Post unito automaticamente:



Il traguardo importante è C++11. I restanti aggiungono delle cose, ma non rivoluzionari. Con C++11 invece sono cambiate molto cose.
Pensavo diversamente, grazie per i preziosi consigli che mi avete dato. Valuterò.
 

Andretti60

Utente Èlite
6,440
5,091
Gli head first li consiglieresti a questo proposito?
La cosa difficile dei manuali è trovare quelli giusti per le conoscenze che si hanno. Perché altrimenti sono inutili, in quanto o troppo superficiali o troppo dettagliati.

Con i manuali dei linguaggi il punto primo è sapere quali siano le conoscenze di programmazione che si hanno, e quali altri linguaggi si conoscono. Il manuale di un linguaggio non deve essere visto come uno strumento da leggere e studiare, bensì da consultazione.

Per questo motivo come dicono @DispatchCode e @pabloski prima di me, io non compro manuali (che sono obsoleti il giorno che escono), perché ormai ho le basi della programmazione (e le tecniche) non mi serve un manuale di un giga di pagine che racconta la storia dell’uva, leggo il tutorial in rete (tipicamente da uno dei siti ufficiali) e poi passo subito alle pagine di referenza, sugli argomenti che mi servono in quel momento.

Ovvio che questo non sia il metodo che usavo quando ero alle prime armi. All’inizio, qualsiasi manuale va bene, più di uno, in effetti quanti di più possibili si possa, ma funziona solo dopo che si abbiano acquisti le base e le tecniche di programmazione. Leggere un manuale di C++ o Java è inutile se non si sa cosa sia la programmazione ad oggetti, e non aiuterà a scrivere buon codice se non si conoscono tecniche e concetti come per esempio DRY e SOLID.
 
  • Mi piace
Reazioni: LitterallyWho

pabloski

Utente Èlite
2,868
916
Dici che il libro rosso della Pearson in italiano di Stroustrup sia abbastanza esaustivo, anche per chi volesse iniziare?

Che sia esaustivo non ci piove. Però 1300 pagine ed è scritto per essere capito da chi ne capisce di programmazione.

Voglio dire, guarda le recensioni https://www.amazon.it/dp/8891905445/?tag=tomsforum-21&linkCode=ogi

Da quello che ricordo del mio percorso, ho letto pochissimo dei libri sul C++. Su altri linguaggi, tipo Python, ho vari libri. Ma di C++ proprio no. L'ho appresso nel corso degli anni, da varie fonti, tra cui tutorial online.

E giusto approfondire alcuni concetti su uno dei libroni ( Thinking in C++ andava di moda ). Ma singoli argomenti. Trovo molto scomodo leggere un librone grosso quanto una Bibbia. E scritto pure in maniera poco chiara ( lo sono quasi tutti purtroppo ).
 

ghosty22

Nuovo Utente
9
0
Che sia esaustivo non ci piove. Però 1300 pagine ed è scritto per essere capito da chi ne capisce di programmazione.

Voglio dire, guarda le recensioni https://www.amazon.it/dp/8891905445/?tag=tomsforum-21&linkCode=ogi

Da quello che ricordo del mio percorso, ho letto pochissimo dei libri sul C++. Su altri linguaggi, tipo Python, ho vari libri. Ma di C++ proprio no. L'ho appresso nel corso degli anni, da varie fonti, tra cui tutorial online.

E giusto approfondire alcuni concetti su uno dei libroni ( Thinking in C++ andava di moda ). Ma singoli argomenti. Trovo molto scomodo leggere un librone grosso quanto una Bibbia. E scritto pure in maniera poco chiara ( lo sono quasi tutti purtroppo ).
Mi sa che prenderò sia questo per approfondire, che quello di blu di Aguilar per cominciare, non ho particolarmente voglia di consultare PDF sparsi in rete o comprare corsi online su Udemy.
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!