View Full Version : [C++] Quale IDE mi consigliate?
riccardo74
28-11-2009, 22:01
Ciao ragazzi, sono assolutamente un neofita del C++, proprio oggo ho acquistato C++ Fondamenti di programmazione di Deitel Harvey M., Deitel Paul J. per iniziare a studiare il C++.
So che si può scrivere qualsiasi programma con un normale editor di testo, come blocco note, oppure Emacs o altro e poi compilarlo. Ma so anche che esistono dei programmi (IDE) che permettono fare tutto in un unico software e di usare anche delle interfacce grafiche senza far ricorso a librerie di terze parti o sbaglio?
Dal momento che ho parecchia confusione in testa, volevo sapere se con il C++ posso:
1) usare MS Visual Studio 2008 o è solo specifico per il Visual Basic e non centra nulla con il C++?
2) MS Visual C++, questo è specifico per il C++ immagino e andrebbe bene esatto?
Questi primi due sono a pagamento.
3) so poi che ci sono degli IDE anche FREE, quali mi consigliate? a me piacerebbe (ovviamente dopo aver imparato le fondamenta) usare le interfaccie grafiche e non solo la riga di comando per gli eseguibili creati da me.
Grazie in anticipo per l'aiuto,
Riccardo
bottomap
28-11-2009, 22:18
Ciao,
Per quanto riguarda Visual Studio, si tratta della suite di programmi Microsoft che comprendono tutti i compilatori (C++, C#, VB, eccetera).
Uscirà a breve la versione 2010 e si tratta dell'IDE (e soprattutto del debugger) migliore in assoluto. Il compilatore è ottimo se si prevede di sviluppare prevalentemente win32 e l'ottimizzatore è secondo credo solo a quello Intel.
Una cosa che mi pare una mancanza nei thread in evidenza è il fatto che dalla versione 2005 in poi esiste di tutti questi compilatori la versione Express, completamente gratuita e liberamente scaricabile dal sito della Microsoft.
Rispetto alle versioni Standard e Professional a pagamento in genere ci sono alcune limitazioni che comunque non impediscono certo lo sviluppo, specie a qualcuno che ancora si deve impratichire.
Le versioni Standard dei singoli compilatori poi non costano un'esagerazione e possono sempre essere un bel regalo (io ho un MSVC .NET 2003 Standard che mi sono procurato proprio in questo modo - costò se non ricordo male circa 140 euro). Diversa cosa e diverso prezzo è chiaramente acquistare il Visual Studio Professional (che comprende un po'tutto il possibile).
I compilatori/IDE Borland hanno, a quanto pare un ottimo editor di risorse ed un buon debugger, ma producono il codice più lontano dagli standard immaginabile.
Per quanto riguarda le IDE free associate ad un compilatore gratuito (in genere della famiglia del gcc), ho sentito parlare bene di Code:Blocks. In alternativa c'è il vetusto DevCpp (un progetto però che mi pare sia rimasto fermo nello sviluppo e che non vedrà aggiornamenti in futuro) o anche Eclipse che fornisce un'IDE per compilatore C/C++ (anche questa non l'ho mai provata).
Per quanto riguarda le interfacce grafiche, con MSVC ti leghi indissolubilmente alla piattaforma windows se usi il .NET, MFC o se programmi un applicativo win32 standard, ma in questo ed in tutti gli altri ambienti puoi appoggiarti tranquillamente a framework di terze parti (wxWidgets, QT, eccetera - ne esistono a bizzeffe) che ti permettono, in teoria, di produrre codice cross-platform anche nell'interfaccia grafica.
Ciaociao :)
riccardo74
28-11-2009, 22:39
Grazie mille, gentilissimo, super esaustivo e chiarissimo soprattutto!
Code::Blocks con compilatore MinGW32 (scarica separatamente il compilatore con l'installazione automatica ed una Nightly Build dell'ide): http://forums.codeblocks.org/index.php/topic,3232.0.html
http://forums.codeblocks.org/index.php/topic,11504.0.html
Visual C++ Express: http://www.microsoft.com/Express/VC/
Code::Blocks con compilatore MinGW32 (scarica separatamente il compilatore con l'installazione automatica ed una Nightly Build dell'ide): http://forums.codeblocks.org/index.php/topic,3232.0.html
http://forums.codeblocks.org/index.php/topic,11504.0.html
Visual C++ Express: http://www.microsoft.com/Express/VC/
aggiungo di mio che il primo è se si intende sviluppare cross-platform, il secondo è se si intende sviluppare solo per Windows.
aggiungo di mio che il primo è se si intende sviluppare cross-platform
Non necessariamente
Non necessariamente pignolo! cross-platform o in C99 :stordita:
ho tralasciato il secondo contesto perché mi sembra molto piu specifico del primo: chi é che vuole programmare cross-platform? un bel po' di gente; chi é che vuole programmare proprio in C99 e non in C89? molti di meno a mio modesto parere.
Mi riferivo ad altro. Se io voglio scrivere codice con una libreria come le QT imho non c'è motivo di usare il compilatore Microsoft. Senza comunque scrivere codice portabile.
Mi riferivo ad altro. Se io voglio scrivere codice con una libreria come le QT imho non c'è motivo di usare il compilatore Microsoft. Senza comunque scrivere codice portabile. magari mi sbaglio, ma non é molto frequente usare QT in un programma che si sa per certo che girerá solamente su Windows, no?
magari mi sbaglio, ma non é molto frequente usare QT in un programma che si sa per certo che girerá solamente su Windows, no?
In effetti non è il massimo.
Io ti suggerirei per ora di restare sul Free (sul libro che hai scelto ho delle riserve ma ormai l'hai preso).
Non vedo controindicazioni a usare QT per programmi solo windows, puoi scaricare il QT Creator dal sito che ha anche un buon editor di interfacce grafiche.
Puoi anche usare Eclipse o Netbeans, che se sviluppi applicazioni con le QT possono comunque usare il componente di disegno interfacce di QT (QT designer).
Io personalmente suo Netbeans... ma solo per abitudine Eclipse è altrettanto buono e probabilmente + utilizzato in ambito industriale.
Gli ambienti Microsoft ovviamente sono ottimi, ma fino a che non ne hai necessita tenersi agnostico è un vantaggio... magari un giorno decidi di passare all'Open o se lo sviiluppo è il tuo lavoro potresti dover fare della roba nell'embedded chi lo sa (sei sempre in tempo per passare a MS in fondo... forse è + difficile uscirne).
magari mi sbaglio, ma non é molto frequente usare QT in un programma che si sa per certo che girerá solamente su Windows, no?
Non è frequente, ma lo diventerà. Le QT stanno prendendo piede anche su Windows. Conta che il cambio di licenza in LGPL è avvenuto solamente l'anno scorso.
Prima per sviluppare un programma commerciale c'era l'obbligo di comprare costose licenze (2-3000€ a postazione). Ora invece si possono utilizzare senza alcun costo.
In effetti non è il massimo.
Al contrario, sono il miglior framework per C++ attualmente disponibile su Windows. Eoni avanti alle MFC e alle wxWidgets.
Non è frequente, ma lo diventerà. Le QT stanno prendendo piede anche su Windows. Conta che il cambio di licenza in LGPL è avvenuto solamente l'anno scorso.
Prima per sviluppare un programma commerciale c'era l'obbligo di comprare costose licenze (2-3000€ a postazione). Ora invece si possono utilizzare senza alcun costo.
Al contrario, sono il miglior framework per C++ attualmente disponibile su Windows. Eoni avanti alle MFC e alle wxWidgets.
Senza dubbio.
Ma sfruttare C++ e WPF?
Sinceramente usare C++ managed secondo me snatura molto il linguaggio.
In ogni caso la comodità delle QT con WPF non ce l'hai (vedi il designer dell'interfaccia integrato nell'editor).
Vincenzo1968
30-11-2009, 13:08
Non è frequente, ma lo diventerà. Le QT stanno prendendo piede anche su Windows. Conta che il cambio di licenza in LGPL è avvenuto solamente l'anno scorso.
Prima per sviluppare un programma commerciale c'era l'obbligo di comprare costose licenze (2-3000€ a postazione). Ora invece si possono utilizzare senza alcun costo.
Al contrario, sono il miglior framework per C++ attualmente disponibile su Windows. Eoni avanti alle MFC e alle wxWidgets.
Quoto. Le MFC, inoltre, non sono disponibili gratuitamente: bisogna avere la versione professional di visual studio.
Sinceramente usare C++ managed secondo me snatura molto il linguaggio.
In ogni caso la comodità delle QT con WPF non ce l'hai (vedi il designer dell'interfaccia integrato nell'editor).
Infatti, io parlo di C++ e WPF. Ma se usi WPF mi pare che non vai sul managed, puoi anche stare sull'unmanaged con C++. :)
riccardo74
30-11-2009, 14:16
Grazie a tutti ragazzi per le risposte. Ciò di cui state discutendo per me è ancora assolutamente incomprensibile, ma spero un giorno di chiarirmi le idee.
Visual C++ e Visual C++ .NET sono la stessa cosa? fanno cioè parte della suite di MS Visual Studio 2008 che ora verrà aggiornata alla versione 2010?
bottomap
30-11-2009, 15:31
Ciao,
Si sono la stessa cosa... dalla versione .NET 2003 del compilatore si parla di Microsoft Visual C++ .NET (sta a significare solo che puoi eventualmente appoggiarti al .NET se lo desideri - niente ti vieta di scrivere applicativi console o win32 standard... al momento in cui crei un nuovo progetto ne specificherai la tipologia).
Ciaociao :)
Ma se usi WPF mi pare che non vai sul managed, puoi anche stare sull'unmanaged con C++. :)
Magari c'è anche la versione unmanaged, non ne ho idea, io sapevo che la struttura era questa:
http://img24.imageshack.us/img24/4862/295pxwpfarchitettura.png
Mumble... mi pare sia diversa ora, però magari mi sbaglio, come leggi nella mia firma non sono proprio MS user... ehehe.
So che C++ usi le Win32, ma penso che anche con le WPF tu possa lavorarci; alla fine la WPF è un layer del .Net per realizzare GUI. Sarebbe idiota non poterlo sfruttare su C++, no?
So che C++ usi le Win32, ma penso che anche con le WPF tu possa lavorarci; alla fine la WPF è un layer del .Net per realizzare GUI. Sarebbe idiota non poterlo sfruttare su C++, no?
C++ con Visual Studio si può usare sia managed (stravolge un po' il linguaggio) che unmanaged. Essendo WPF basata sul CLR diventa ovvio che si possa usare solo con C++ managed.
Però in giro viene detto che esiste anche una versione unmanaged, senza però mai trovare esempio, ma solo discussioni in cui si dice che è piena di memory leak.
C++ con Visual Studio si può usare sia managed (stravolge un po' il linguaggio) che unmanaged. Essendo WPF basata sul CLR diventa ovvio che si possa usare solo con C++ managed.
Però in giro viene detto che esiste anche una versione unmanaged, senza però mai trovare esempio, ma solo discussioni in cui si dice che è piena di memory leak.
Esatto. E' una cosa interessante da approfondire, stasera cerco...
||ElChE||88
30-11-2009, 16:21
C++ con Visual Studio si può usare sia managed (stravolge un po' il linguaggio) che unmanaged. Essendo WPF basata sul CLR diventa ovvio che si possa usare solo con C++ managed.
Però in giro viene detto che esiste anche una versione unmanaged, senza però mai trovare esempio, ma solo discussioni in cui si dice che è piena di memory leak.
Non esistono versioni unmanaged di WPF. La parte bassa (quello sotto al CLR nel diagramma che hai postato) è unmanaged... ma ovviamente non basta per usare WPF.
riccardo74
30-11-2009, 16:50
Io ti suggerirei per ora di restare sul Free (sul libro che hai scelto ho delle riserve ma ormai l'hai preso).
Ecco riguardo al libro per iniziare, io ho appunto preso C++ Fondamenti di programmazione 2a ed. che cosa ha che non va? avreste qualcosaltro eventualmente da consigliarmi? tenete presente che sono completamente ignorante in materia.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.