Newsgroup: it.comp.lang.c++
Titolo: sono alle prime armi

Ho appena iniziato a studiare il linguaggio c++ per conto mio, ed  immagino
che
non sara' un'impresa facile.Ho in possesso un libro del gruppo editoriale
JACKSON ( LINGUAGGIO C  seconda edizione) su cui sto studiando , e un
software( BORLAND C++ 5.02) su cui metto in pratica quelle pochissime
nozioni che ho imparato. Il mio scopo e' di imparare a programmare in "c++"
per poterlo applicare nell'elettronica (es.programmare una eprom per far
girare un sistema a microprocessore ). Forse dovrei acquistare degli
emulatori di qualche microprocessore?  Qualcuno puo' darmi dei consigli ?
Ringrazio anticipatamente.

 ha scritto nel messaggio
news:Qp888.28735$nI1.8...@twister1.libero.it...

Una cosa è certa: se vuoi imparare il C++, devi usare un libro sul C++ ;-)
C e C++ sono linguaggi diversi, anche se il C è un sottoinsieme del C++. Non
è indispensabile conoscere il C per imparare il C++, e per di più molti
sconsigliano di studiare a fondo il C per passare poi al C++.
Se sei interessato al C++, dai un'occhiata ai libri consigliati a questo
link:
http://www.programmazione.it/index.php?entity=ebooklist&idCategory=26&idEnti
ty=4&idArea=4
Oppure un ottimo libro per iniziare è quello di Bruce Ekel: è scaricabile in
rete, ma esiste solo la versione inglese:
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Ciao,
Cecco

> ...per  di più molti sconsigliano di studiare a fondo il C per passare poi
al C++.
Dopo anni di programmazione C devo dire che è veramente stressante per me
passare al C++, il linguaggio è simile ma la filosofia è tutt'altra, morale,
se nel tuo futuro, caro adolfo,  vedi un lavoro in una azienda sofware,
buttati subito sul Cpp che poi seno ti tocca disimparare il C :-) .
Però se vuoi programmare eprom e roba del genere credo si usi di più il C
(rompe meno i cosiddetti durante la compilazione, naturalmente si aspetta
che tu sappia quel che stai facendo ma puoi fare cose del tipo int a =
puntatore; senza che nessuno te lo meni), aggiungi magari una dose di
assembly.
I problemi filosofici:
 a parte il fatto della programmazione ad oggetti, che non è un problema, in
Java programmo con soddisfazione (piccole cose)
Chi passa dal C al C++ lo trova terribile, perchè quando si programma ci
sono fasi in cui si programma il compilatore (template, operatori) e altre
in cui si programma il software (template, metodi, classi, operatori), e
queste fasi sono come quelle del clock di un computer, si susseguono
rapidamente, in C te la cavi con qualche #define.
In C la gestione della memoria è semplice: non esiste.
In C++ te lo devi menare con distruttori che distruggano ma non troppo ed
altre bellezze simili, e i primi tempi (per me anche i secondi tempi) ti
trovi con un distruttore che ti ha cancellato della memoria che non ti
aspettavi et similia.
Ovvio che uno bravo in C++ non ha sti problemi e ride di me programmatore C
perchè me lo meno con la malloc, la realloc e la free.
Ciao
Andrea.

In C la gestione della memoria è semplice: non esiste.
Spero che tu stia scherzando.
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

 Spero che tu stia scherzando.
non del tutto.

 non del tutto.
Allora hai uno strano concetto di gestione della memoria.
Un linguggio come il C, privo di costrutti di alto livello
come le classi, che possono sollevarti dall'impegno di
allocare/liberare esplicitamente la memoria (vedi gli
smart pointer, giusto per fare un esempio), ti obbliga a
gestire tutto a mano.  La gestione della memoria, in C,
esiste e si fa anche sentire.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 esiste e si fa anche sentire.
Quel che volevo dire è che non è il C a gestirla.

Per cui a scanso di ambiguità riformulo la frase (bisogna stare molto
attenti a come si parla, i programmatori sono permalosissimi):
"La gestione della memoria che fa il C è semplice: non esiste."
A parte le variabili automatiche in stack.
Ciao.

 perchè me lo meno con la malloc, la realloc e la free.
In particolare perche' con std::auto_ptr ed i contenitori standard con
la gestione della memoria "me la meno" molto poco.
Ciao,
Nicola