Newsgroup: it.comp.programmare.win32
Titolo: SCOPPIO DI VOGLIA DI FARE PROGRAMMI

Chiedo scusa per l'improbabile e ingiustificato OT  avvertendo già in prima
riga che magari programmatori esperti in cerca di problemi da risolvere non
troveranno pane per i loro denti in queste poche righe,e scusandomi con loro
per la mia 'maleducazione'.
Sono Andrea, 19 anni,studio al primo anno di Ingegneria elettronica e per la
prima volta nella mia vita sono venuto a contatto con il linguaggio C.
Ho passato uan vita su basic e visual basic, non senza un gusto di amarezza
in bocca, una sensazione di non poter partecipare alla festa vera,
ma di essere reso partecipe solo di un antipasto che tutavia non sfama.
Ora che la microscopica infarinatura di C che ho mi ha aperto gli occhi su
cosa sono le possibiltà della programmazione in Windows (si è parlato
brevemente di come funzoina un programma Windows, il ciclo dei messaggi e le
varie robe), ho ordinato una quantità industriale di libri sull'argomento e
letteralmente scoppio di voglia di realizzare al più presto una delle
migliaia di idee che mi frullano in testa, di sfruttare un milionesimo delle
possibilità che ho intravisto in quelle poche righe di codice per la maggior
parte ancora incomprensibili sui molti file di esempio di Visual C++.
spero che almeno uno dei pochi che saranno arrivati fin qua a leggere possa
capire cosa voglio dire, possa ricordare di come si sente un bambino la
notte prima di natale, che non riesce a dormire, la frenesia di voler fare
mille cose.
Ebbene io mi sento così nei confronti di Visual C++.
        Nella snervante attessa di ricevere il prezioso supporto cartaceo vi
prego di darmi un assaggio verbale di quello che mi aspetta del tipo, è
difficile, è facile, ci vuole tempo prima di realizzare un programma degno
di tal nome, è divertente, è sempre difficile come le prime volte ecc.
Grazie per aver letto fino a qua.
Andrea

> [megasnip...]
Ciao Andrea, io sono un tuo coetaneo :-) e sono anche io al primo anno di
università, ma programmo in Visual C++ già da un sacco di tempo ormai; eh
si, che vuoi fare, io ho avuto la fortuna di scorpirlo prima. Ti parlerò
brevemente della mia esperienza: ho iniziato con Delphi alla tenera età di
12 anni (allora c'era Delphi 2, che era facilissimo da usare anche per un
ragazzino delle medie); successivamente ho appreso il BASIC (QBasic x
l'esattezza) da un professore della mia vecchia scuola media, e poi in 2°
o 3° liceo (non ricordo esattamente) ho scoperto la meraviglia delle
meraviglie: Visual C++! :-) Dopo anni di reclusione all'Object Pascal, con
VC++ ho finalmente scoperto l'incredibile potenza della vera
programmazione per Windows, puramente e genuinamente Microsoft, senza
tanti componenti Borland e tante rotture di... sai cosa! :-D
Leggendo MSDN e usando Visual C++ ho imparato a fare (quasi) qualsiasi
cosa su Windows, il che non è poco visto l'indiscutibile successo che
questo sistema operativo ha avuto nel mercato.
Capisco benissimo come ti senti quando parli dell'entusiasmo del bambino
la vigilia di Natale: mi sento così anch'io quando un'idea formidabile mi
fulmina il cervello, e quell'idea ne apre una catena interminabile, e non
voglio fare altro che appiccicarmi davanti al PC per tutto il pomeriggio
(della serie, il mouse che mette radici nella mano, e roba del genere).
Veniamo alle tue domande: passare a VC++ è stato *estremamente* facile per
me grazie a MSDN, per questo ti dico subito che ordinare una marea di
carta forse non è stata una buona idea, <:) be' vabbè, diciamo che dipende
dal tipo di libri che hai ordinato: io ad esempio non comprerei *mai* un
libro sulla programmazione Win32, mentre ad esempio mi farebbe piacere un
bel libro che tratti (ad esempio) qualche aspetto dell'architettura di
Windows NT (e infatti uno ce l'ho), :) e questo perché se ti serve di
imparare o di consultare qualcosa circa le API Win32, basta che apri un
bel browser e scrivi 
msdn.microsoft.com
 ;) (senza la faccina finale
ovviamente :-D ).
Riassumendo, essenzialmente il mio consiglio è: mettiti 
msdn.microsoft.com
tra i Preferiti di IE ;)
P.S.: effettivamente mi sa che siamo abbastanza OT... :D
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it



Che bello leggere questo entusiasmo ! E' lo stesso che mi spinge ancora a
programmare in C++ nonostante per lavoro utilizzi più VB e VB.Net ed è per
questo che non taglio neanche una virgola del tuo post :-)
Che dire di più, programmare in C++, addirittura senza le MFC che
aggiungono uno strato semplificativo in più, è complesso ma da una grande
soddisfazione.
Devo aggiungere però che realizzare applicazioni con una interfaccia utente
complessa in C++ diventa poco gestibile, perchè ti tocca scrivere
moltissimo codice anche solo per aprire una finestra o definire un font.
E' per questo che dopo una visione della programmazione in C++ con le Win32
ti consiglio comunque di cercare qualche libreria che ti aiuti in questo
compito, ma che contemporaneamente non ti tolga il piacere di "sporcarti"
le mani.
Se vuoi dai un occhio alla minuscola libreria che ho sviluppato (vedi
signature, magari falla vedere pure al tuo prof), da utilizzare in C++ e
Win32, per facilitare la creazione di interfaccie utente complesse.
Ciao
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
libero.it

OKOKOK quindi ritieni inutile la roba cartacea anche per capire solo cosa
cavolo č una classe o robe del genere?
O come si gestisce nel particolare il ciclo dei messaggi e cosě via?
Mi mandi il tuo ind Email a 
ju...@area51staff.it
 che magari ti rompo un po'
le OO su cose che vorrei capire?
Quanto ci mette un idiota che ha voglia di imparare mediamente prima di fare
un programma degno di tale nome (e non intendo 78 righe di codice per aprire
una finestra che puoi solo chiudere ma qualcosa di vagamente piů utile e/o
complesso)?
Andrea

 complesso)?
Boh? Dipende dall'idiota e dalle conoscenze che ha già. Io ad esempio,
conoscendo già l'Object Pascal e il BASIC, per imparare il C++ in maniera
completa ci ho messo una settimanella, ma già dal primo giorno ero in
grado di fare dei bei programmi (inizialmente usavo C++ Builder, che è
uguale a Delphi, poi sono passato quasi subito a Visual C++). Inoltre io
non ho fatto uso di libri, ma solo di MSDN, però tieni presente che già
conoscevo la programmazione a oggetti; per uno che conosce il Visual Basic
non saprei giudicare...


 completa ci ho messo una settimanella, 
???? allora o l'Object Pascal e' quasi uguale al C++ oppure tu sei un 
genio!
...perche' secondo me e' umanamente impossibile imparare *bene* e in 
maniera *completa* (!!) tutto il C++ (comprese le classi di STL!!) in 
una "settimanella" !?!
Iniziare a fare programmini C++ dopo una settimna e' OK, ma impararlo in 
maniera completa mi sembra assurdo...!
...se mi sbaglio: complimenti! :)
Dan
PS: Io gia' per capire bene il late binding con la keyword virtual, la 
v-table etc. ci misi qualche giorno...! :) Poi ci sono tante altre 
cose...!

 cose...!
Ma questi appunto sono concetti comuni della programmazione a oggetti, che
già conoscevo con l'Object Pascal, con il quale feci 4-5 anni di
esperienza, non ricordo esattamente.
Ciao


 esperienza, non ricordo esattamente.
OK, allora considerando che escludi STL e avevi gia' un'ottima 
esperienza OO con Object Pascal capisco, e la cosa mi sembra realistica.
Invece per me il C++ fu il primo linguaggio ad oggetti (venivo dal C, 
che non ha oggetti), quindi ho appreso con il C++ per la prima volta i 
vari concetti dell'OOP/OOD...e andavo "piano piano" per digerire il 
tutto :-)
Ciao :-)
Dan

 di tal nome, è divertente, è sempre difficile come le prime volte ecc.
Metto da parte la retorica che viene spontanea nel commentare questo 
apprezzabilissimo entusiasmo. Parliamo del mestiere di programmatore.
Non è un mestiere dei più facili. Certo è irriverente paragonarlo ad 
altre professioni più vocazionali come medico, infermiere e via 
discorrendo, ma comunque è un lavoro dove passione e entusiasmo, se ci 
sono, servono tutti.
Essere programmatori vuol dire alternare momenti straordinariamente 
motivanti ad eccezionali scartavetrature di coglioni. Inutile dire che è 
facile essere entusiasti nel primo caso, lo è decisamente meno nel secondo.
Per ogni programmatore arriva il momento in cui si accorge che nessuno 
farà mai il lavoro sporco per lui. Niente di eccezionale, ma bisogna 
saper ammortizzare la delusione sapendo già da prima che anche questo fa 
parte del lavoro.
Per quanto sarai bravo, ci sarà sempre codice schifoso scritto da altri 
da manutenere e debuggare.
Per quanto tu sarrai un mago dell'hacking, ci sarà sempre da passare 
giornate a disegnare forms.
Per quanto tu conosca linguaggi che ti appassionano, ci sarà sempre da 
scrivere programmi nei linguaggi che detesti.
Per quanto tu scriverai del bel codice, ci sarà sempre qualcuno a dirti 
che non è ben documentato.
E così via, fino alla pensione che non avrai :-)
Non è mia intenzione "smontare" l'entusiasmo, anzi, auspico che si 
conservi intatto per quei momenti che non saranno così eccezionalmente 
stimolanti.
Il segreto è appassionarsi alla professione e non alla crema. Come ogni 
lavoro, ma per un programmatore vale un po' più della media.


Un consiglio.....dalla mia esperienza mi sono accorto che più sai, e più ti
accorgi di quanto ancora devi sapere.....e meno sai e più pensi di aver già
imparato quasi tutto.
La programmazione....specialmente in C++ è più complessa di quanto qualsiasi
persona ti possa dire....e questo perchè a differenza del C ci sono dei
comportamenti automatici che bisogna conoscere (e bene !), vedi eccezioni,
costruttori impliciti, metodi virtuali, costruttori di copia, e via
dicendo....conoscerlo bene richiede anni di esperienza e di studio.
Ultimamente ho proprio letto un articolo che parlava in maniera
dettagliata/issima delle eccezioni....pur essendo un programmatore con
esperienza pluriennale, devo rileggerlo meglio.
Good luck
C.