Newsgroup: it.comp.programmare
Titolo: C++ per iniziare

Ciao a tutti vorrei iniziare a programmare in c++ e volevo sapere tra
i manuali disponibili e le risorse in rete da dove avete
cominciato,inoltre io ho acquistato di recente il manuale thinking in c
++ me lo consigliate??Se volessi interfacciarmi invece con l'ambiente
microsoft visual c++ quale manuale o risorsa scegliere?
Ps non è la mia prima esperienza di programmazione,ho già programmato
in java e in c.
Ringrazio anticipatamente chiunque mi darà qualke delucidazione.

 microsoft visual c++ quale manuale o risorsa scegliere?
non sa/non risponde

 microsoft visual c++ quale manuale o risorsa scegliere?
Che cosa intendi dire?

 
toma...@libero.it
 ha scritto:> Ciao a tutti vorrei iniziare a programmare in c++

Voorei utilizzare l'ide di microsoft.

tom...@libero.it
 ha scritto:

Ricapitoliamo:
vuoi iniziare a programmare in c++
vuoi utilizzare il ms visual c++
che cosa stai chiedendo al gruppo ?


Ho letto che tra gli ide più utilizzati per la programmazzione c++ c'è
quello di microsoft,volevo chiedervi se voi me lo consigliate per
iniziare, e se si dove reperire le risorse necessarie e quali manuali
acquistare.Grazie ancora.


Se non quello di Microsof quale compilatore mi consigliare??ke ne
pensate di dev,quello free??
Grazie e scusate l'ignoranza in materia c++

 acquistare.Grazie ancora.
Ah, ok, adesso e' chiaro.
Da parte mia sconsiglio caldamente qualunque cosa di Microsoft: non puoi 
mai sapere che cosa quel compilatore ci mette nel codice che crea.
Per iniziare il mio consiglio e' quello di usare ambienti e sistemi open 
source: sono standard, e costano zero.

 microsoft visual c++ quale manuale o risorsa scegliere?
Non mi e' ben chiaro che intendi per "interfacciarmi".
Se vuoi usarlo come IDE, non utilizzare per nessuna ragione la
versione 6.0 perche' il compilatore non e' per niente compliant con lo
standard. Scegli la versione 2003 o 2005.
Per il resto e' un ottimo IDE ed ha un buon compilatore abbastanza
rispettoso dello standard.
Non credo ti serva un manuale per utilizzarlo, probabilmente basta che
cerchi qualche guida su internet. Quando crei un progetto ricorda di
crearlo di tipo "Win32 Console Application" che e' quello che, per
ora, fa per te. per il resto basta che ci smanetti un po' e capirai
subito come funziona.
Se invece intendi dire che vuoi sviluppare direttamente applicazioni
windows, con finestre e quant'altro, usando quell'IDE, allora te lo
sconsiglio vivamente. Prima devi imparare il C++ standard, poi impari
ad utilizzare le API di windows. Se non impari prima bene il C++
rischi di trovare problemi anche a fare le cose piu' semplici.
Saluti,
The Librarian

 source: sono standard, e costano zero.
Sul costo sono d'accordo, ma sull'essere standard un po' meno. Ora, ad
esempio, il gcc si comporta piuttosto bene in quanto ad aderenza allo
standard, ma pochi anni fa non si poteva certo dire lo stesso.
Il fatto che il software sia free e/o open non implica affatto che sia
anche standard.
Saluti,
The Librarian

 anche standard.
Naturalmente, ma chi lavora nel software libero cerca di seguire gli 
standard e quindi si arrivera' ad uno standard certo.
E' la MS che gli standard li infrange per imporre i propri. ;)

 eseguibile.
Potrebbe esserci stato un buon motivo per controllare la versione del
DOS, magari il compilatore Borland se la rischiava e nel 99% dei casi
andava comunque tutto bene.
Comunque, nell'impossibilita' di indagare su fatti ormai remoti, anche
ammettendo che il compilatore Microsoft fosse bacato, mi sembra
ridicolo sconsigliare un prodotto attuale basandosi su una cattiva
esperienza avuta piu' di 10 anni fa.
Saluti,
The Librarian

 in java e in c.
Suppongo che anche in java e in C avrai incompinciato a fare programmini 
da lanciare dalla riga di comando. Fai lo stesso anche per il C++.
"Thinking in c++" e' ottimo per chi conosce gia' il C o Java.
Sul web ci sono molte risorse, tra cui in italiano, 
http://it.wikibooks.org/wiki/Dal_C_al_C++
Quando avrai studiato il libro di Eckel, ti consiglio di approfondire le 
conoscenze con il testo di Stroustrup "C++: Linguaggio, libreria 
standard, principi di programmazione".
L'ambiente "microsoft visual c++" non e' qualcosa a cui ci si 
interfaccia; e' un'applicazione che si usa per programmare; e viene 
fornito con una serie di librerie, alle quali ci si interfaccia.
Per imparare l'ambiente dovrebbero bastarele guide in linea.
Per imparare le librerie e' meglio leggere un libro, che dipende da 
quale libreria vuoi usare. Le piu' gettonate sono MFC e .NET Framework.
Per discutere di programmazione per Windows in linguaggi a basso livello 
(tra cui il C++) c'e' il newsgroup it.comp.programmare.win32.
Per discutere di programmazione in C++ standard e indipendente dalla 
piattaforma, c'e' il newsgroup it.comp.lang.c++.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 E' la MS che gli standard li infrange per imporre i propri. ;)
Dipende. In generale si, in particolare su C++ ormai 'fanno i bravi'.
Hanno estensioni, certo. Ma mica sei obbligato ad usarle, esattamente
come non sei obbligato ad usare quelle del gcc/g++ (pure li sono attive
'di default' eh). Per disabilitarle devi *dirgli* di essere pedante.
+-(riko@Dome3:p1)------------------------------------------------(~)-+
+-(14:14:%)-- cat valid_c99.cc                         --(Gio,Ott18)-+
int f(int x){
  int v[x];
}
+-(riko@Dome3:p1)------------------------------------------------(~)-+
+-(14:14:%)-- g++ -c valid_c99.cc                      --(Gio,Ott18)-+
+-(riko@Dome3:p1)------------------------------------------------(~)-+
+-(14:14:%)-- g++ -ansi -c valid_c99.cc                --(Gio,Ott18)-+
+-(riko@Dome3:p1)------------------------------------------------(~)-+
+-(14:14:%)-- g++ -pedantic -c valid_c99.cc            --(Gio,Ott18)-+
valid_c99.cc: In function 'int f(int)':
valid_c99.cc:2: error: ISO C++ forbids variable-size array 'v'
Tipo il codice di cui sopra è C99 valido ma C++ non valido. Poi immagino
che anche il vc++ te lo accetti. 
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 fatto che non era ancora standard, ma ora dicono che lo sia).
Personalmente non sono d'accordo nel rinunciare all'utilizzo di strumenti
di sviluppo Microsoft. Alle ultime versioni del Visual C++ hanno
contribuito peraltro grosse "teste" del C++, come Stanley Lippman e Herb
Sutter (tanto per fare qualche esempio). Il C# nasce dallo stesso creatore
di Delphi (anch'egli entrato in Microsoft a suon di soldoni). In realtà
non so che cosa si intenda esattamente per "Borland C++" oggi. Un tempo
era un prodotto specifico, poi divenuto Turbo C++, poi Borland C++, poi
C++ Builder, poi C++ Builder X e vattelapesca che altro ancora. Ho usato
il C++ Builder in tempi in cui già il Visual C++ predominava il mercato.
Oggi i prodotti Borland sono passati in mano a CodeGear e ne ho perso di
vista i progressi. In ogni caso, se oggi dovessi scegliere un tool di
sviluppo C++ tra Borland e Microsoft non avrei dubbi: Microsoft.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sviluppo C++ tra Borland e Microsoft non avrei dubbi: Microsoft.
Oggi, non lo so nemmeno io. 'Ieri' era il Borland C++ compiler v. 5.5.
Ho da qualche parte ancora la scatola del C++ builder v 5 (ma sui
numerini potrei stare facendo casino).
Guarda, peccato che non sviluppi su Windows. Cioè, questa frase è
ambigua. Diciamo che mi piacerebbe stare su win solo per prodotti come
l'IDE borland (di allora, di oggi non lo so)[0].
-----
[0] In particolare io rispetto a te ho una visione molto diversa
dell'IDE: per esempio gli IDE mi fanno girare le palle quando non mi
fanno scegliere il mio editor di testo. Tuttavia apprezzo il concetto di
'debugger grafico' (e possibilmente di db grafico che si salva per
progetto e facilmente break points et similia). In linguaggi
particolarmente statici apprezzo anche i pittatori di GUI (anche se è
meno critico, io non sviluppo GUI).
Ah. E il gcc mi sta tirando scemo. Il messaggio di errore che mi sono
beccato alle due (e che ho appena concluso) mi finiva *fuori* dal buffer
di gnome-terminal. Magie di templating, boost ed stl.
Diciamo che un IDE C++ fatto come si deve mi avrebbe ben formattato il
messaggio di errore, magari permettendomi di collassarne parti per avere
una visione d'insieme etc etc etc.
Ecco, quindi posso dire, peccato che lavoro su Linux.


 l'IDE borland (di allora, di oggi non lo so)[0].
Se vuoi, oggi ne puoi avere una versione attuale completamente gratuita, 
senza limitazioni di licenza:
http://www.turboexplorer.com/
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

 nell'affermazione iniziale di R.M. ci sia un bel po' di pregiudizio.
No, no, non c'e' alcun pregiudizio: c'e' un bel dato di fatto.
Andando a vedere in esadecimale il codice generato da un banale
    printf("hello, world\n");
ci sono stringhe di chiavi di accesso al registro.
Perche' mai dovrebbe accedere al registro un programma che non contiene 
codice di accesso al registro?
E ci accede in lettura o anche in scrittura?
E che altro fa che io non so, oltre ad accedere al registro?
Da notare che un vecchio HELLO.EXE che avevo creato il secolo scorso, 
funziona perfettamente sulle macchine odierne, senza alcun bisogno di 
accedere al registro che sicuramente neanche sa che cosa sia.

di gnome-terminal. Magie di templating, boost ed stl.
Io ho ricevuto notizie allarmanti di bug sul gcc in
it.comp.programmare.win32 tempo fa. La situazione, in quel contesto,
mi sembrava preoccupante. Il gcc è sempre stato un punto di
riferimento per me.

ci sono stringhe di chiavi di accesso al registro.
Perdonami, ma non credo sia vero.

Andrea Laforgia ha scritto:

Hai solo da provare tu stesso, se possiedi un compilatore MS.
Compila, poi apri l'eseguibile in esadecimale e troverai nel segmento 
dati delle stringhe che inequivocabilmente si riferiscono al registro.

dati delle stringhe che inequivocabilmente si riferiscono al registro.
Esiste la presunzione d'innocenza. Id est: non sono io che devo
scagionare il Visual C++, sei tu che devi dimostrare che č colpevole.
Io continuo a non crederti. Il tuo test č poco significativo. Che
significa "apri l'eseguibile in esadecimale"? un dump esadecimale del
file eseguibile non dimostra un bel niente. Invece, disassembla il
codice, riporta le istruzioni di accesso al registro durante
l'esecuzione della printf() e ti crederņ.

 l'esecuzione della printf() e ti crederò.
Allora mettiamola cosi':
io non so che cosa faccia un eseguibile compilato col VC++ prima del
main() e dopo il main()
puo' darsi che non faccia niente,
puo' darsi che faccia qualcosa di poco preoccupante,
puo' darsi che faccia qualcosa che io preferirei che non facesse.
Il fatto che all'interno del codice eseguibile ci siano codificate alcune
stringhe per accedere al registro non implica che l'eseguibile acceda
effettivamente al registro, se non lo si dimostra debuggando
opportunamente il codice, pero' quelle stringhe ci sono, e non sono
sicuramente definite a livello di sorgente.
Nel dubbio io preferisco utilizzare un compilatore che non inserisce nel
codice stringhe di accesso al registro: un compilatore open source, del
quale mi e' permesso sapere come funziona e che codice mi va a creare.
Poi, il primo a parlare di fiducia sei stato tu, e io di Microsoft non mi
fido.
Ne ho viste troppe in tanti anni e oggi utilizzo prodotti Microsoft solo
se assolutamente costretto dalle circostanze, altrimenti me ne sto ben
alla larga.


 dati delle stringhe che inequivocabilmente si riferiscono al registro.
Ho appena provato. Ho creato un'applicazione console che stampa "Hello
World", l'ho compilata e disassemblata.
Risultato: l'applicazione *non* legge dal registro di windows.
Poi l'ho aperta con wordpad (perche' mai poi usare un editor
esadecimale se voglio vedere delle stringhe?!) e, anche qua, non c'e'
alcuna traccia di stringhe del registro.
Quindi la tua affermazione e' *falsa*.
Francamente perso tu ti sia confuso con il file di manifest che viene
embeddato nell'eseguibile, ma che ovviamente non fa parte del codice
eseguibile e non c'entra nulla col registro di windows.
Saluti,
The Librarian

 quale mi e' permesso sapere come funziona e che codice mi va a creare.
Ah, perche' immagino tu abbia letto il codice del gcc. O forse hai
letto solo la documentazione?
Guarda, praticamente tutto quello che fa il compilatore Microsoft e'
documentato su MSDN. Se non leggi la documentazione non e' colpa loro.
Non c'e' bisogno di andare a vedere il codice del compilatore, basta
molto meno.
Saluti,
The Librarian

 alla larga.
Io programmo da anni con tool Microsoft e mi sono trovato benissimo.


 molto meno.
Anche perchè ci sono parti (e parti interessanti) di un compilatore che
dubito seriamente siano comprensibili se non dall'1% degli sviluppatori.
Tipo io sto nel campo dell'analisi statica e pur conoscendo molte delle
tecniche che *in teoria* sono usate in comune da ottimizzatori e
verificatori, non metterei il naso in quelle routines a meno che
costretto.


 riferimento per me.
O capita. Noi di bachi del gcc ne abbiamo trovati *tanti* (non io, ma il
mio 'capo/relatore'). Abbiamo una libreria parecchio pesante sia per il
calcolo numerico, ottimizzazioni, templating. Insomma, tutta roba on the
edge che i bachi li piglia eccome. 


almeno il cuore, me ne sbatto. Non è roba per me :)
Dire che te ne sbatti dei componenti, significa che te ne sbatti delle
classi e non mi sembra una cosa molto intelligente. I componenti sono
semplicemente classi arricchite. Sono utilissimi e importantissimi dal
mio punto di vista e possono prescindere benissimo dalla piattaforma
(vedi Kylix che sotto Linux supportava gran parte dei componenti
Delphi). I componenti sono ciò che ha reso Delphi il miglior ambiente
di sviluppo RAD per Win32. Generalmente chi denigra o non considera i
componenti è chi non li ha mai utilizzati e quindi non ne ha mai
saggiato la reale utilità.

 saggiato la reale utilità.
Come ogni strumento bisogna anche valutare la sua utilità nel campo di
utilizzo.


utilizzo.
Esatto ed io l'ho valutata: Delphi è il miglior ambiente di sviluppo
RAD per Win32.

 RAD per Win32.
Bene. Come ti dicevo, non sviluppo su Win32 (e nemmeno su Win64 :) )


 RAD per Win32.
Ce ne sono molti altri? :-)
