Newsgroup: it.comp.lang.c++
Titolo: [?]come imparare il C++ "velocemente"

Salve a tutti,
ho la necessità (obbligo...) di imparare a programmare in C++.
Normalmente programmo in VB per comodità ma purtroppo sono costretto a
passare al C++.
Essendo una necessità lavorativa "dovrei" diventare produttivo il +
velocemente possibile...
tenedo conto che programmo ormai da alcuni anni (per lavoro) e da prima (per
hobby) e che conosco Assembler e qualcosa di Ansi C (non C++...ma C
"liscio") secondo voi quale è la strada + rapida da percorrere?
Io devo sviluppare applicazioni per Windows 32bit quindi pensavo di fare
ricorso sicuramente a  MFC e vorrei sfruttare al massimo la programmazione a
oggetti da dove dovrei cominciare?
Il mio scopo è quello di arrivare a sfruttare alcuni kit di sviluppo che mi
arrivano da ns. partner per lo sviluppo di applicazioni 3D.
Vi ringrazio per l'aiuto anche se sono bene che la mia richiesta è "troppo"
vaga.. ma il C++ mi sembra così vasto che non so da dove cominciare..per ora
ho acquistato un "tomo"sul Visual C++ (che sarà poi il compilatore
prescelto) della MCGraw - hill , ogni consiglio è ben'accetto.
grazie ancora.....
Davide®

prescelto) della MCGraw - hill , ogni consiglio è ben'accetto.
Hai ragione. Il C++ e' veramente vasto.
Non posso consigliarti per il Visual C++ e sicuramente su
it.comp.programmare.win32 ti sapranno consigliare meglio.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

Se il tuo problema e' realizzare velocemente applicazioni GUI in C++
(perche' proprio C++, poi?) ti consiglio di provare prima il Borland C++
Builder.
Ciao,
Nicola

 it.comp.programmare.win32 ti sapranno consigliare meglio.
Grazie dell'aiuto....

 Builder.
xchè devo usare un kit di sviluppo pensato per il VC6.. leggendo la
documentazione ho visto che per usare il BC++ c'è da diventare matti (o
quasi...)
Grazie del pensiero ;)
ciao,
Davide

quasi...)
Concordo con Nicola, io ho sempre pensato il contrario.
Credimi, io uso il BC++ Builder per lavoro e ti assicuro che e' di una
facilita' estrema (credo sia molto meno complesso di VC++).


 facilita' estrema (credo sia molto meno complesso di VC++).
non discuto sulla bonta dell'IDE :)... solo che per far funzionare il kit di
sviluppo in questione(che è il motivo per cui devo imparare il C)
è necessario trafficare un bel pò con i settaggi del BC++, non è che mi dia
fastidio "trafficare" (è il bello dell'informatica =D ) ma preferisco
ridurre al minimo le complicazioni.... devo imparare il C++ e devo imparare
ad usare sto benedetto kit di sviluppo..... meglio evitare scontri con
"incompatibilità" SDK / Compilatore....
:)
ciao
Davide®

"incompatibilitą" SDK / Compilatore....
Hai ragione, ho letto frettolosamente e non ho notato che hai
necessita' di usare un kit studiato per VC++.


"incompatibilità" SDK / Compilatore....
Scusa, eh... visto che da quanto scrivi nei post precedenti si evince
che non conosci il Visual C++ come fai a sapere che il Borland C++
Builder ti farebbe perdere più tempo? Ad ogni modo comprendo
perfettamente la tua situazione: anch'io dove lavoro ho a che fare con
gente di C++ non ne sa un cazzo(infatti conoscono solo il VB),e lo
dimostrano le cazzate immani che sparano ogni qualvolta affrontano
l'argomento.
"meglio tacere e fare la figura dei fessi piuttosto che parlare e
confermare tale opinione."
Il Ghenio
-----
E'più oscuro del crepuscolo, é più rosso del sangue,
in nome della pace e della giustizia faccio appello a
tutti i poteri più remoti dell'oscurità, perché mi
aiutino a distruggere i miei nemici e tutti coloro
che saranno tanto sciocchi da ostacolarmi. FULMINE ROSSO!!
(Slayers)
-----

xchè devo usare un kit di sviluppo pensato per il VC6..
E allora regala qualche tonnellata di vaffanculi a chi ha progettato
questo kit di sviluppo. Io odio le cose "pensate esclusivamente per".


questo kit di sviluppo. Io odio le cose "pensate esclusivamente per".
(!)
Sono senza parole. Gli stai consigliando di licenziarsi ? Di cambiare
l'hardware scelto dalla ditta per il loro sistema embedded ?
Oppure semplicemente di mettersi a imprecare otto ore al giorno e
vedere se gli danno lo stesso lo stipendio ?
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

questo kit di sviluppo. Io odio le cose "pensate esclusivamente per".
Hmmmm... per cortesia. L'atteggiamento di uno che programma per lavoro
non puo' essere questo. Spero te ne renda conto.


l'hardware scelto dalla ditta per il loro sistema embedded ?
No, ho solo detto di mandare una tonnellata di vaffanculi a chi ha
progettato il kit di sviluppo in quanto odio le cose "pensate
esclusivamente per". Non capisco poi il perché dell'obiezione tua e di
Andrea La Forgia, visto che lamentarsi per quella che sembra una vera
e propria imposizione é lecito e sensato.
In fondo i programmatori non sono dei robot, quindi credo che abbiano
tutti il diritto di scegliere qual'é l'ambiente di sviluppo più adatto
per sviluppare le proprie applicazioni(anche perché dovrebbero essere
proprio loro le persone più indicate per farlo)cosa che non si può
fare con i famosi "prodotti pensati esclusivamente per". Tutto qui!!!


fare con i famosi "prodotti pensati esclusivamente per". Tutto qui!!!
Questo vale solo nei *sogni* di chi non programma per lavoro.
Chi programma per lavoro sa benissimo che non e' cosi' e non PUO'
esserlo.


 fare con i famosi "prodotti pensati esclusivamente per". Tutto qui!!!
Quello che si puo' provare a fare e' ipotizzare diversi scenari
economici ai propri clienti a seconda degli strumenti utilizzati, per
mettere in risalto la maggior produttivita' o il minor rischio che uno
strumento comporta rispetto ad un altro. Pero' se il progetto "e' da
prendere", sta tranquillo che anche questi discorsi vengono accantonati
e decide il cliente...
Ciao,
Nicola

 confermare tale opinione."
grazie.......
Davide®


non so se programmi per lavoro (e allora sei straordinariamente fortunato a
poter scegliere di fare quello che vuoi come vuoi) ma nel mio caso già sarei
contento di non "dover" imparare il C++  e diventare produttivo  prima di
subito.... poi non vedo perchè il BC++Builder dovrebbe essere meglio..
perchè è un RAD?
non mi interessa la GUI è in VB... quindi il problema interfaccia è
risolto.... per il resto un compilatore vale l'altro... potendo scegliere
avrei usato qualcosa di free come il compilaore che c'è sotto Linux.. ma
tant'è quindi perchè farsi venire l'ulcera?? :D
buon lavoro...
Davide®


Secondo me non e' il C++ ad essere vasto (naturalmente intendo il linguaggio
non la sua padronanza) quanto invece l'ambiente di sviluppo e le librerie
MFC allegate che richiedono moltissimo tempo di studio e prove prima di
essere utilizzabili sopratutto a livello professionale.
saluti
Stefano C.

essere utilizzabili sopratutto a livello professionale.
Anche, ma non solo.


non la sua padronanza) quanto invece l'ambiente di sviluppo e le librerie
La vastita` di un linguaggio non e` data semplicemente dai
suoi costrutti e/o librerie, ma anche e soprattutto dalle conseguenze
del suo approccio.
Non credo che conoscere le MFC possa essere difficoltoso
quanto padroneggiare il linguaggio.
Paolo

per il resto un compilatore vale l'altro... 
Ti posso assicurare che questo e` assolutamente falso,
almeno per quanto riguarda il C++ allo stato attuale.
Paolo


Credi bene ;)
Luc.


Intendo dire che per me usare il BC o il VC è uguale... non mi interessa la
portabilità del codice o che so io =) .
A me interessa che il mio applicativo funzioni ed essere in grado di
scriverlo e mantenerlo più velocemente possibile.
Capisco che per gli esperti di C++ sto dicendo con tutta probabilità delle
eresei assurde... ma io ho delle priorità, prima tra tutte imparare il C++.
Poi userò sempre lo stesso compilatore  (almeno finchè farà quello che mi
serve) so che quello gnu (giusto?) dovrebbe essere il migliore ma tant'è..
io usero il VC perchè è quello che mi costa "meno" nel fattore tempo....
grazie  a tutti :)
Davide®

io usero il VC perchè è quello che mi costa "meno" nel fattore tempo....
E` quello che credi... quando qualcosa che dovrebbe funzionare non
funziona, perdi giorni interi a capire il perche` e a trovare un
rimedio ugualmente valido. Te lo garantisco nel piu` assoluto
dei modi, ci sono passato piu` volte, soprattutto con VC (che
purtroppo sono costretto ad utilizzare)!
Per non parlare poi della qualita` dei messaggi di errore, ricordo
ancora un:
"cannot converto from T to T" di VC++.... inutile dire che l'insulso
messaggio nulla aveva a che fare col reale problema.
Paolo

 subito....
Mah, veramente anche a me il fatto di poter scegliere lo strumento più
adatto per il lavoro che si deve fare sembra una cosa più che giusta e
naturale. O "lavorare" per voi significa dover fare cose sbagliate solo
perché lo dice qualcuno che, magari, non capisce niente dell'argomento?
EMG

 comportarsi piuttosto bene.
Confermo, per quanto riguarda gcc con la libreria v3.  Il drawback e'
che libstdc++ 2.91 non si integra piu' bene con gcc 2.95.2 (l'ultima
release ufficiale) e si e' costretti ad usare una beta della prossima
release; ed usare una libreria buona con un compilatore che a priori
puo' dare problemi non mi lascia tranquillo.
Una *OTTIMA* alternativa al KAI che ho scoperto di recente e' il
Comeau.  Fateci un pensierino.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
A C++ exception is when the code gets in trouble and says:
"Beam me up, Scotty!".

 perché lo dice qualcuno che, magari, non capisce niente dell'argomento?
Il problema e' che decide chi paga. Se e' furbo, si fida di chi se ne
intende (o si trova qualcuno che se ne intende di cui potersi fidare).
Nella mia esperienza pero' non avviene molto spesso.
Ciao,
Nicola

perché lo dice qualcuno che, magari, non capisce niente dell'argomento?
No, niente affatto.
Da parte mia lavorare significa dover fare cose sbagliate, perche' lo
dice qualcuno che, SICURAMENTE, non capisce niente dell'argomento.


perché lo dice qualcuno che, magari, non capisce niente dell'argomento?
La scelta del linguaggio (e in generale degli strumenti) e`
chiaramente legata a cio` che si vuole fare. Naturalmente poi
non basta giungere alla conclusione che l'ideale sarebbe X,
bisogna valutare la disponibilita` e la qualita` di X nell'ambito
della piattaforma e/o altri fattori.
Magari per realizzare un certo software si scopre che l'accoppiata
Pascal+Prolog sarebbe l'ideale... il problema pero` diventa:
esistono due implementazioni di pascal e prolog (per le piattaforme di
interesse) valide e capaci di "comunicare"?
In sostanza non ci sono solo e semplicemente le specifiche
del progetto (spesso incomplete e/o parzialmente
imprecise), ma bisogna considerare tutte le conseguenze che esse
comportano.
Paolo

Nella mia esperienza pero' non avviene molto spesso.
Comunque, senza scendere nell'off-topic, e' avvilente notare quanto
sia diffusa l'incompetenza a livello di progettazione e programmazione
in Italia. E' difficile, secondo me, capire veramente di chi fidarsi o
meno. Ho visto software venduto ad aziende anche importanti, scritto
in modo veramente pessimo.


risolto.... per il resto un compilatore vale l'altro...
E questo, mi dispiace, ma é falso.


grazie.......
Prego, hai completamente travisato il significato della mia risposta,
quindi non credo che ci sia bisogno di aggiungere altro, visto che
sarebbe tempo sprecato.


sia di meglio.
Ognuno e' libero di pensare quello che vuole, ci mancherebbe altro.
Ma pensare e' una cosa, agire e' un'altra cosa.
--
Andrea Laforgia (ICQ 87230455)
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."


Inanzitutto mi voglio scusare per come ho preso l'altro post....  ho
frainteso e potevo eviatre di fare dellìironia... comunque il mio discorso è
molto semplice:
ho un progetto da avviare, vorrei poterlo fare in Vb ma non posso per una
serie di motivi, tra cui non ho tempo per scrivere le TLB di 50 DLL, quindi
devo usare il C++.
Conosco il C ma non il C++, l'SDK che devo usare è molto + "ottimizzato" e
semplice da usare con VC6.
Ora io devo imparare un nuovo linguaggio e un nuovo "stile " di
programmazione e quindi comincio a ridurre (eliminare) tutte le variabili
trascurabili.
Nella mia situazione che il VC non sia 100% standard non è un fattore
determinante, so che è una "bestialità" ma tanto userò sempre il VC per
questo progetto e tant'è.
Semplicemente non vedo perchè mi devo incasinare con comiplatori, anche
migliori, quando se da un lato avrei codice + standard (e quindi meno bachi
e comportamenti strani da inseguire..) dall'altro dovrei farei salti mortali
per usare sto cavolo di SDK
Non volevo scatenare una guerra di religione!
Tutto ciò è molto bello ma io il lavoro lo devo fare... e basta. :) e se va
avanti così finisce  che mi scrivo le TLB ;)
grazie e buon lavoro
Davide®

Questo cambia molto, difatti le nostre risposte
sono relative ad una affermazione apparentemente "assoluta".
Anche io uso VC++ (anche se non vorrei), semplicemente perche`
un mucchio di altri fattori al momento non consentono altre
alternative.
Paolo

Il soggetto di questo messaggio e' diventato:
                      Re: R: OT: R: R: <soggetto vero>.
Colgo l'occasione per informare tutti i nuovi venuti (che hanno troppa
fretta di diffondere la loro sapienza per curarsi di leggere la
netiquette) che dovrebbero configurare il loro newsreader in modo che
le risposte siano identificate dai 4 caratteri "Re: " (il case E'
significant).  Grazie.


 della piattaforma e/o altri fattori.
Ma infatti si parlava di scegliere tra strumenti esistenti (Borland,
Microsoft, ...) nell'ambito di piattaforme molto comuni. Davo per
scontata la disponibilità e discutevo solo sulla qualità. Se uno
strumento lo reputo non adatto al progetto in corso, non può essere
un'immotivata imposizione dall'alto a farmi cambiare idea. A quel punto
o lascio il lavoro (va bene, posso farlo in quanto autonomo) oppure
accetto ma declino, possibilmente per iscritto, tutte le responsabilità.
EMG

 dice qualcuno che, SICURAMENTE, non capisce niente dell'argomento.
Beh, è un tipo di lavoro che io normalmente non accetto.
EMG

in modo veramente pessimo.
La maggior parte delle volta lo colpa é tutta dei clienti e della loro
totale incompetenza in materia. Ecco perché le ditte di programmazione
non pretendono programmi scritti correttamente ma si accontentano
anche di una ciofeca qualsiasi.
Un utente serio e preparato é molto difficile da raggirare, mentre
all'utonto che non sa neanche tenere il mouse in mano puoi propinargli
qualsiasi cosa, e se il tuo programma non dovesse funzionare gli puoi
pure far credere che é colpa del suo hardware.


semplice da usare con VC6.
Il VC++, come del resto tutti gli altri compilatori, permette di
scrivere programmi anche in C, e se te la devo dire tutta per ora ho
visto più gente usarlo per programmare in C piuttosto che in C++.


....
Sono completamente d'accordo con Andrea. Chi programma di professione ha
delle scelte obbligate a seconda dell'ambiente e degli sviluppi che deve
effettuare.
ciao
Stefano C.

 in modo veramente pessimo.
Ho visto software *realizzato* da aziende importanti, scritto in modo
veramente pessimo. L'esempio che ricordo con piu' affetto e' un file
sorgente C di circa 10000 righe contenente un'unica funzione, con al suo
interno uno switch di circa 5000 righe (e non parlatemi di
ottimizzazione!)
Ciao,
Nicola

Quel "programmatore" meriterebbe di essere fustigato a sangue e messo
sotto sale!!!!
Neanche mia sorella crederebbe che una simile cosa sia cosa buona!
Paolo

della piattaforma e/o altri fattori.
La disponibilità spesso c'é, ciò che invece spesso manca é un
sufficiente grado di conoscenza dell'argomento per valutare
correttamente quale sia lo strumento giusto da usare. Ad esempio ci
sono troppe persone che ancora credono che i sistemi di sviluppo della
Microsoft rappresentino la miglior scelta ed ignorano che in giro c'é
molto di meglio.


 corretta.
Mi interessa! Qual'è l'estensione non standard da cavare
per far funzionare bene la getline?

per far funzionare bene la getline?
Apri l'header <string> di VC++ e ti accorgi di una implementazione
non standard di "export" che ti impedisce di utilizzare la versione
corretta di getline quando usi anche MFC.
Paolo