-

Libro Manuale C++

#1
Buongiorno, programmo prevalentemente in Java ed ora vorrei imparare anche il C++ potete indicarmi un libro per chi parte da zero ? Vorrei che iniziasse dalle basi e finisse con le cose più complicate...insomma completo ! Grazie
 

Cibachrome

Utente Attivo
6,410
2,095
Hardware Utente
CPU
Intel core 2 duo E6400
Scheda Madre
Asus p5b deluxe
Hard Disk
Maxtor 320 gb
RAM
1+1 gb ddr-2 800 mhz cl-5
Scheda Video
Nvidia geoforce 7300 LE 512 mb non dedicati
Scheda Audio
Integrata nella motherboard
Monitor
Asus 19"
Alimentatore
550 W
Sistema Operativo
Windows xp pro SP3/Windows 7 Ultimate 64 bit SP1
#2
#3
Ciao! Guarda anche da comprare anche perchè leggevo in giro che il C++ dalla versione 11 è cambiato un pò quindi non volevo rischiare di comprare magari un libro del 2016 che spiegasse delle release precedenti alla 11
 

_Achille

Utente Attivo
2,904
661
Hardware Utente
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
Hard Disk
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
Scheda Video
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
Alimentatore
RM550X
Case
NZXT S340
Periferiche
Cooler Master XT; Razer Abyssus
Sistema Operativo
Windows 10 Pro
#4
Ciao! Guarda anche da comprare anche perchè leggevo in giro che il C++ dalla versione 11 è cambiato un pò quindi non volevo rischiare di comprare magari un libro del 2016 che spiegasse delle release precedenti alla 11
I libri, se non proprio puntati a spiegarti il C++ e non la programmazione in se, difficilmente accenneranno a cose che riguardano C++11 o C++17.
Se non che ti vengan dette altre cose riguardo auto e auto_ptr
 
#5
Ma a vostro parere conviene studiare il C++ o andare di C# o altri linguaggi? Cioè il C++ è superato ?

Ho trovato anche QUESTO però non sò se è buono...ne parlano bene ma parte dal C ed ho letto in giro che è inutile cominciare dal C per imparare il C++
 

_Achille

Utente Attivo
2,904
661
Hardware Utente
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
Hard Disk
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
Scheda Video
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
Alimentatore
RM550X
Case
NZXT S340
Periferiche
Cooler Master XT; Razer Abyssus
Sistema Operativo
Windows 10 Pro
#6
Ma a vostro parere conviene studiare il C++ o andare di C# o altri linguaggi? Cioè il C++ è superato ?

Ho trovato anche QUESTO però non sò se è buono...ne parlano bene ma parte dal C ed ho letto in giro che è inutile cominciare dal C per imparare il C++
Sì lascia perdere il C.
C# è un linguaggione. Dipende da che vuoi fare. Lascia perdere libri in italiano però
 

Andretti60

Utente Attivo
2,829
1,848
Hardware Utente
#7
Ma a vostro parere conviene studiare il C++ o andare di C# o altri linguaggi? Cioè il C++ è superato ?

Ho trovato anche QUESTO però non sò se è buono...ne parlano bene ma parte dal C ed ho letto in giro che è inutile cominciare dal C per imparare il C++
Il C++ non sara' mai "superato", e' de facto IL linguaggio di programmazione in moltissime applicazioni. Infatti e' piu' facile dire DOVE non sia usato (script e user interface)
La sintassi del C++ e' essenzialmente la stessa del C (infatti il C++ nacque come estensione del C per aggiungere la programmazione ad oggetti), quindi non serve iniziare dal C se uno vuole usare il C++.
C# e' un ottimo linguaggio, ma e' essenzialmente ristretto all'ambiente Windows, e se conosci gia' Java il C# non ti da' niente di piu' (e' una semplificazione ovviamente)
Non devi partire da zero per imparare il C++ se gia' programmi in Java. Conosci le basi della programmazione e della programmazione ad oggetti, devi solo sapere "come" farlo in C++, per cui NON ti consiglio un libro per principianti. Infatti a secondo delle tue conoscenze di programmazione un libro non ti serve a nulla (basta un bel tutorial)
 
#8
Il C++ non sara' mai "superato", e' de facto IL linguaggio di programmazione in moltissime applicazioni. Infatti e' piu' facile dire DOVE non sia usato (script e user interface)
La sintassi del C++ e' essenzialmente la stessa del C (infatti il C++ nacque come estensione del C per aggiungere la programmazione ad oggetti), quindi non serve iniziare dal C se uno vuole usare il C++.
C# e' un ottimo linguaggio, ma e' essenzialmente ristretto all'ambiente Windows, e se conosci gia' Java il C# non ti da' niente di piu' (e' una semplificazione ovviamente)
Non devi partire da zero per imparare il C++ se gia' programmi in Java. Conosci le basi della programmazione e della programmazione ad oggetti, devi solo sapere "come" farlo in C++, per cui NON ti consiglio un libro per principianti. Infatti a secondo delle tue conoscenze di programmazione un libro non ti serve a nulla (basta un bel tutorial)
Ciao e grazie dei consigli ! In realtà il C# lo conosco perchè ho programmato un paio di anni fa un videogame per smartphone con Unity3D che utilizza proprio il C#, vedrò a questo punto in giro dei tutorial come dici anche se mi sarebbe piaciuto avere un bel libro da consultare in caso di necessità e perchè mi piace conservarli e leggerli ogni tanto magari la sera a letto, ma vedo appunto che il più recente sul C/C++ è quello che ho postato sopra e risale al 2016...dopo il vuoto assoluto per quello mi chiedevo il perchè e mi è sorto il dubbio che potesse essere superato.
 
#9
A Tour of C++ seconda edizione (attento a non prendere la prima edizione che costa la metà) scritto dall'inventore del C++ (B. Stroustrup); sfortunatamente è appena uscito e costa davvero un occhio. Copre la maggior parte delle novità del linguaggio C++11, C++14 e C++17 con "puntatine" al futuro C++20.
Fossi in te non mi preoccuperei più di tanto della "compatibilità" del libro con C++17, che riguarda più che altro caratteristiche molto avanzate, puoi partire dai libri che "coprono" fino a C++ 11 dello stesso autore come Programming: Principles and Practice Using C++ (seconda edizione) (parte dai principi della programmazione) oppure direttamente dal "classico" The C++ Programming Language (quarta edizione).
 
#10
A Tour of C++ seconda edizione (attento a non prendere la prima edizione che costa la metà) scritto dall'inventore del C++ (B. Stroustrup); sfortunatamente è appena uscito e costa davvero un occhio. Copre la maggior parte delle novità del linguaggio C++11, C++14 e C++17 con "puntatine" al futuro C++20.
Fossi in te non mi preoccuperei più di tanto della "compatibilità" del libro con C++17, che riguarda più che altro caratteristiche molto avanzate, puoi partire dai libri che "coprono" fino a C++ 11 dello stesso autore come Programming: Principles and Practice Using C++ (parte dai principi della programmazione) oppure direttamente dal "classico" The C++ Programming Language quarta edizione.
In italiano però

Inviato dal mio EVR-L29 utilizzando Tapatalk
 

Andretti60

Utente Attivo
2,829
1,848
Hardware Utente
#12
... mi sarebbe piaciuto avere un bel libro da consultare in caso di necessità e perchè mi piace conservarli e leggerli ogni tanto ...
Ti capisco, lo facevo anche io, guarda cosa tengo ancora (solo per memoria), dal lontano 1984 (lo usai per un esame universitario). Ormai non compro piu' libri, diventano presto obsoleti, tutta la documentazione e' online. Una volta che si e' imparato a programmare, non servono piu'.
 

Allegati

Mi Piace: Mursey e mimmog
#13
Quoto e straquoto Andretti60:
Il C++ non sara' mai "superato"
Il C# nacque dall'esigenza di Microsoft di personalizzare Java, linguaggio binariamente portabile, per il proprio sistema operativo, a discapito degli standard regolamentati da Sun (oggi di Oracle)... e cosi' nacque dapprima il Visual J++ (chi se lo ricorda?), la causa con Sun... per poi lasciare Java e prendere le sembianze del C#
Oggi rimane relegato prevalentemente a Windows, sebbene sia spinto sia su Linux con MonoDevelop, e sia su OS X proprio con Visual Studio che su Mac e' solo C#.
Personalmente rimango "felicemente sposato" al C++, da diversi anni ormai... con cui ho festeggiato abbondantemente le nozze d'argento.
Per cio' che riguarda un titolo, io rimango legato a Stroustrup: (solitamente) chi conosce bene una materia la spiega anche bene... e lui ne e' il padre... (anche se oggi, probabilmente, li firma soltanto)
Visto che vuoi un titolo in Italiano, mi viene in mente solo questo: "C++. Linguaggio, libreria standard, principi di programmazione".
Non essere troppo fiscale sulle versioni del linguaggio, cio' che e' importante e' la metodologia/filosofia: ereditarieta', polimorfismo, template... e non ultimo l'utilizzo dei puntatori, visto che arrivi da un linguaggio "poco permissivo".
Certo, anche la sintassi, ma quella e' un attimo.
Direi che dal C++11 in poi va bene... per le evoluzioni avrai tempo, man mano che affini la tecnica.

E visto che siamo in tema di "amarcord" ... rispettivamente 1988/1990/1994
 

Allegati

Ultima modifica:

Andretti60

Utente Attivo
2,829
1,848
Hardware Utente
#14
Il C# nacque dall'esigenza di Microsoft di personalizzare Java, ...
Vero, ma non solo. A Microsoft mancava un "vero" linguaggio visuale, aveva solo VB6, retaggio del vecchissimo Basic, poi Visual Basic. Che era ottimo per scrivere interfacce grafiche, credo che nessun linguaggio come VB sia veramente RAD (rapid application development), ma con troppe limitazioni. Veramente TROPPE limitazioni, per cui programmatori come il sottoscritto erano costretti a veri e propri salti mortali (leggi: assenza di multi threading). Con il framework .NET (leggi dot-net) cambiarono tutto, buttarono al macero VB e MFC (l'unica vera infrastruttura per scrivere interfacce grafiche in C++, se uno aveva il tempo per farlo) e introdussero VB.NET (che non conosco nessuno che lo usi) e C#. .NET e' molto simile a Java, ha un compilatore JIT (just In Time), garbage collector (per evitare noiose gestioni di memoria) e ovviamente il motore runtime CLR (Common Language Runtime). Sembra famigliare? :) Praticamente JVM con lo stemma Microsoft, appunto. Con il grosso svantaggio che Java e' veramente cross platform (quasi, almeno su tutte le piattaforme in cui gira JVM). Attenzioni: ho fatto GROSSE semplificazioni, tanto per avere una idea.

C# voleva essere un po' il coltellino svizzero, ma fatica molto a prendere piede in applicazioni "pesanti" che pero' devono essere "leggere", tipo device drivers e servizi (noi continuiamo a usare C++ per quello). La versione corrente comunque e' anni luce migliore di quella originale (adesso e' il linguaggio che uso maggiormente in ufficio), almeno tutte le versione dopo la 4.0.

Non ho provato il progetto Mono, ma ho provato DevStudio su Mac, che e' una torta infornata a meta' (come si dice in inglese), occorre usare XCode per creare la interfaccia grafica, per cui a quel punto perche' mai usare C#, tanto vale usare i linguaggi nativi e XCode fino alla fine.
 
Mi Piace: BrutPitt
#15
Sono assolutamente conscio di tutto cio'... e non solo: concordo con te! ;-)
Ero stato volutamente "stringato" anche io nella mia chiosa (per questione di topic), forse troppo, ma volevo esprimere e dare motivazione al seguente concetto: se gia' programmi in Java vale la pena passare a un linguaggio "per certi versi" simile, quando oggi la tendenza e' del tutto contraria, grazie a "big G"?
Diverso se si parla di C++.
Ritornando a "noi"... non volevo tirare fuori tutta la storia dei linguaggi di programmazione, "parola di scout"... ma dopo il tuo vecchio "Basic", ero andato a riguardare i miei libri... tra cui avevo anche scorto (vedasi foto) "Il Manuale Visual J++"... ed e' da li che e' sovvenuto il ricordo.
E' del 1997, almeno 4/5 anni prima (se non erro) del C# 1.0 ... e il sottotitolo e' "profetico", riguardo le intenzioni di Microsoft: "Tecniche, trucchi e ottimi consigli per convertire senza problemi il codice C++ per Windows in linguaggiuo Java" . :-)
Insomma a Microsoft serviva un linguaggio ad oggetti... proprio come java... ed oltretutto era gia' li', pronto... e pensava di poter fare il bello e il cattivo tempo con Sun.
Non fraintendetemi, non ho nulla contro il C# o contro nessun altro linguaggio di programmazione: un linguaggio di programmazione nasce per soddisfare determinate esigenze, ma soprattutto sopravvive solo se alla fine soddisfa tali esigenze.
C# ha quasi 20 anni, e ha semplificato/unificato davvero tante metodologie (se penso a quanto ci si dannava per personalizzare un semplice "project template" per VisualStudio6), ed anche se e' rimasto "relegato" per lo piu' nel campo "aziendale"... (occhio alle virgolette)... stiamo parlando di Microsoft, non del negozio dietro l'angolo.

P.S.
E chi se le scorda le MFC: me le son sorbite dalla 2.0 alla 6.0 (anche se in realta' era ancora una 4.2... evolution)
 

Allegati

Discussioni Simili


Entra