Newsgroup: it.comp.lang.c++
Titolo: A volte ritornano!

Ciao a tutti!
	Sono da sempre un fan accanito del C e sono stato tra i primissimi a 
sperimentare il C++, fino ad usarlo nel '96 per sviluppare il software 
a corredo della mia tesi in ingegneria informatica (attenendomi 
strettamente allo standard del tempo: passava liscio dal gcc con -Wall 
-ansi -pedantic :-).
	Da allora, causa ingresso nel "real world", ho dovuto a malincuore 
metterlo da parte: per circa due anni ho sviluppato professionalmente 
in Delphi, poi sono passato a fare ciò che faccio tutt'ora, cioè il 
sistemista su lan Microsoft.  Ma proprio in questi giorni ho 
cominciato a collaborare con una società che sviluppa col C++ Builder. 
[ Azathot-friendly mode ON]
	Il C++ Builder è un ambiente di sviluppo che serve per generare, a 
partire da sorgenti scritti in linguaggio C++, programmi eseguibili 
per una particolare tipologia di sistemi operativi. Non ho alcuna 
intenzione di mettermi a parlare di tutto ciò in questa sede, era solo 
una piccola nota di colore! ;-)
[ Azathot-friendly mode OFF]
	Quanto sopra per dirvi che un minimo di fondamenti teorici li ho 
già, ma purtroppo sul versante pratico mi sono perso tutta 
l'evoluzione che c'è stata, diciamo a partire dalla STL in poi. 
Riprendere in mano la mia copia dello Sturmtruppen (I edizione: 1990 o 
giù di lì) avrebbe poco senso. Voi che testo mi consigliate?
	Nessuno vi saluta!
P.S. A proposito di testi: qualcuno qui parlava dello Schildt che, se 
la memoria non m'inganna, era uno che nei libri di C dichiarava void 
main()... ;-)
... nisi ut ardeat!

 giù di lì) avrebbe poco senso. Voi che testo mi consigliate?
Comincerei con "Thinking in C++" di Bruce Eckel (gratuito su Internet, 
googola pure), per continuare poi con i vari "Exceptional C++" & co.
Ciao.
-- 
---
*************** | Have you ever retired a human by mystake?
*** Azathot *** |
*************** | To contact me, ask me gently. Thanks.

 giù di lì) avrebbe poco senso. Voi che testo mi consigliate?
Viste le premesse e se col TC++PL2 ti sei trovato bene, la scelta piu'
ovvia e' "The C++ Programming Language" 3 edizione. Dopo vengono i tre
libri di Scott Meyers, i due (per ora) di Herb Sutter, quello di
Andrei Alexandrescu. Sicuramente poi non si puo' fare a meno del
Josuttis (per non parlare del Josuttis-Vandevoorde!).
amazon ( o gorilla, o quel che e') is your friend ;-)
Ciao,
Nicola

 Josuttis (per non parlare del Josuttis-Vandevoorde!).
scusa e tutta sta libreria ??? che fanno in piu' gli altri libri che dici
??? o hai dato un'alternativa ???
ciao

...

Libri come "The C++ Programming Language" 3 edizione e "C++ Primer" 3
edizione spiegano come funziona il linguaggio, gli altri insegnano ad
usarlo al meglio.
Penso che chi aspira a diventare un buon programmatore di C++ farebbe
bene a leggere piu' o meno tutti i libri che ho indicato.
Ciao,
Nicola

 bene a leggere piu' o meno tutti i libri che ho indicato.
la miseria ... come passare la vita a leggere ... io per ora sono impelagato
dentro il think di bruce, il C++PL3 di Sroustrup ed al red-book delle opengl
... e sono sicuro che ne avro' di certo fino a sto natale ...
ciao

... e sono sicuro che ne avro' di certo fino a sto natale ...
"The C++ Programming Language" secondo me e' ottimo, pero'
richiede a mio parere una conoscenza di programmazione
per essere letto (meglio se si conosce il C).
I libri di Meyers sono molto facili da leggere perche'
sono organizzati in "pillole" autocontenute, e sullo stesso
sistema e' anche "C++ FAQs" che a me e' piaciuto abbastanza.
Pero' sia l'uno che l'altro presuppongono che almeno la
sintassi C++ di base sia ragionevolmente chiara.
Exceptional C++ mi e' piaciuto meno, mentre molto
interessante per alcune idee e' secondo me Modern C++
Design, anche se io sono un po' contrario a voler esagerare
con la metaprogrammazione template. Sicuramente sia l'uno
che l'altro sono comunqe testi per una "fase 2".
Purtroppo la storia del C++ e' complessa e in parte dettata
da problemi pratici o di compatibilita' con il passato (C
e C++ pre-standard) che in diversi punti lo rendono un
linguaggio "illogico" e quindi, a mio parere, non si puo'
prescindere da un minimo di studio sistematico.
E' dura dedurre le regole del linguaggio quando queste non
sono state dettate dalla logica; aggiungi poi il fatto che
in C++ non esiste il concetto di "runtime error" ma esiste
quello di "undefined behaviour" al suo posto: in moltissimi
casi se si sbaglia a fare qualcosa il programma *sembra*
funzionare lo stesso ma va a fare porcherie che provocheranno
errori apparentemente assurdi in *altre* parti del programma
che invece erano corrette; oppure i danni non sono facilmente
osservabili e non creeranno nessun problema visibile nel 99%
dei casi (es. memory leaks, oppure scritture in aree deallocate
che pero', per pura fortuna, non sono ancora state riusate).
Questo fatto, unito all'illogicita' di alcune scelte, rende
secondo me improponibile l'approccio al C++ basato solo su
sperimentazione con un compilatore.
HTH
Andrea