PDA

View Full Version : [C/C++]Buon ambiente di sviluppo??


MissaW_RaZ_98
25-01-2012, 16:56
Quale IDE mi consigliate per programmare in c/c++?(ad esempio dev-c++,Visual Studio,etc)

Thanks :D

tecno789
25-01-2012, 17:08
come ambiente di sviluppo sarebbe meglio proprio cambiare s.o, cioè spostarsi su Linux :)
però se proprio insisti il devc++ a me è sembrato il più semplice da utilizzare..

MissaW_RaZ_98
25-01-2012, 17:28
capisco...
Dato che ho windows xp,come faccio a passare a linux?
(scusa l'ignoranza)

tecno789
25-01-2012, 17:31
capisco...
Dato che ho windows xp,come faccio a passare a linux?
(scusa l'ignoranza)

eh dovresti installare una distro....
se non lo vuoi fare tranquillo devc va benone..

MissaW_RaZ_98
25-01-2012, 17:50
ehm...cos'è una distro?:mbe:

tecno789
25-01-2012, 17:52
ehm...cos'è una distro?:mbe:

distribuzione.

no allora ti consiglio di usare devc++ :Prrr:

cdimauro
25-01-2012, 18:11
Quale IDE mi consigliate per programmare in c/c++?(ad esempio dev-c++,Visual Studio,etc)

Thanks :D
VisualStudio ovviamente.
come ambiente di sviluppo sarebbe meglio proprio cambiare s.o, cioè spostarsi su Linux :)
però se proprio insisti il devc++ a me è sembrato il più semplice da utilizzare..
Cioè, fammi capire: dovrebbe spostarsi su Linux dove gli ambienti di sviluppo fanno cacare nonostante sia un s.o. sviluppato da programmatori per programmatori (gli utenti lo possono usare come effetto collaterale).:doh:

tecno789
25-01-2012, 18:17
VisualStudio ovviamente.

Cioè, fammi capire: dovrebbe spostarsi su Linux dove gli ambienti di sviluppo fanno cacare nonostante sia un s.o. sviluppato da programmatori per programmatori (gli utenti lo possono usare come effetto collaterale).:doh:

veramente tutti i programmatori seri che conoscono utilizzano linux, ci sarà un motivo?? comunque lo sconsiglio all'utente, l'ho detto sopra il tuo post..

Tommo
25-01-2012, 18:28
eh dovresti installare una distro....
se non lo vuoi fare tranquillo devc va benone..

Quindi DevC offre la stessa qualità di sviluppo che offre Linux.
Almeno su una cosa siamo d'accordo :D

cdimauro
25-01-2012, 18:29
veramente tutti i programmatori seri che conoscono utilizzano linux, ci sarà un motivo??
In effetti me lo chiedo anch'io:

http://www.seo-expert-blog.com/ext/img/geeksaresexy/Linus-Torvalds-2.jpg

http://www.alessandrocumin.com/joomla/images/stories/richard_stallman_santo.jpg

:asd: :asd: :asd:

Comunque ti consiglio di espandere un po' le tue conoscenze. :O
comunque lo sconsiglio all'utente, l'ho detto sopra il tuo post..
Sì, ho letto. D'altra parte se non sa cos'è una distro (ed è una cosa buona :asd:), è meglio che si affidi a quello che già conosce meglio.

Comunque non capivo e continuo a non capire il motivo della tua precedente affermazione.
Quindi DevC offre la stessa qualità di sviluppo che offre Linux.
Almeno su una cosa siamo d'accordo :D
:rotfl: :rotfl: :rotfl:

Idem. :D

lefantome
25-01-2012, 18:31
io userei un bel foglio di carta quadrettato e una penna (bianchetto non permesso)

Poi te lo compili a mente e lo esegui sempre a mente.

E' la cosa migliore fidati.

EDIT: e non dimenticare di usare colori diversi per evidenziare la sintassi

tecno789
25-01-2012, 18:42
In effetti me lo chiedo anch'io:

http://www.seo-expert-blog.com/ext/img/geeksaresexy/Linus-Torvalds-2.jpg

http://www.alessandrocumin.com/joomla/images/stories/richard_stallman_santo.jpg

:asd: :asd: :asd:

Comunque ti consiglio di espandere un po' le tue conoscenze. :O

Sì, ho letto. D'altra parte se non sa cos'è una distro (ed è una cosa buona :asd:), è meglio che si affidi a quello che già conosce meglio.

Comunque non capivo e continuo a non capire il motivo della tua precedente affermazione.

:rotfl: :rotfl: :rotfl:

Idem. :D

ehehehehhe mi hai arato :D

MissaW_RaZ_98
25-01-2012, 19:54
peró ho sentito dire che dev-c++ non ha la libreria conio.h o qualcosa del genere(credo anche graphics,booo)

cdimauro
25-01-2012, 21:07
Fidati: lascia perdere quell'IDE perché "non è in grado di reggere i calzari" di VisualStudio.

WarDuck
25-01-2012, 21:13
come ambiente di sviluppo sarebbe meglio proprio cambiare s.o, cioè spostarsi su Linux :)
però se proprio insisti il devc++ a me è sembrato il più semplice da utilizzare..

E perché mai? Visual Studio è quanto di meglio si possa trovare a livello di IDE, purtroppo (o per fortuna :asd: ) non c'è niente di paragonabile sotto Linux.

tecno789
25-01-2012, 22:38
E perché mai? Visual Studio è quanto di meglio si possa trovare a livello di IDE, purtroppo (o per fortuna :asd: ) non c'è niente di paragonabile sotto Linux.

scusate avete ragione....

wizard1993
25-01-2012, 22:59
Aggiungerei QT creator ed Eclipse cdt, che schifo non fanno...

Perseverance
25-01-2012, 23:06
All'università usano il DevC++ xkè rispetta lo standard del C\C++. Il Visualstudio non rispetta alcuni standard. Io ho usato entrambi e preferisco il devc++ e per le applicazioni grafiche il Qt di nokia.

Eclipse ottimo ma per java, unico ambiente in cui lo uso e dà il meglio di se (è nato per questo)

tomminno
25-01-2012, 23:11
Aggiungerei QT creator ed Eclipse cdt, che schifo non fanno...

Si può sempre usare VisualStudio per il codice e i tool di Qt per la parte grafica :sofico:

WarDuck
26-01-2012, 00:54
All'università usano il DevC++ xkè rispetta lo standard del C\C++.Il Visualstudio non rispetta alcuni standard. Io ho usato entrambi e preferisco il devc++ e per le applicazioni grafiche il Qt di nokia.

Eclipse ottimo ma per java, unico ambiente in cui lo uso e dà il meglio di se (è nato per questo)

Visual Studio non supporta C99, ma per C++ supporta il TR1 di C++1x.

Comunque esistono delle estensioni Qt anche per Visual Studio.

killercode
26-01-2012, 01:22
Usano linux perchè può essere installato da tutti quelli che dispongono di un computer e per chi inizia è più semplice lavorare con solo gcc piuttosto che entrare nelle mille opzioni di un ide.

Tommo
26-01-2012, 01:48
Sunto breve per MissaW_RaZ_98: usa Visual Studio 2010 Express :D
Possibilmente metti Windows 7, ma è una cosa in più.

Risposta lunga:
Aggiungerei QT creator ed Eclipse cdt, che schifo non fanno...

Supportano i precompiled headers nel 2012? No.

Fanno schifo :D

Purtroppo dopo estenuanti ricerche per un lavoro *vero* con un progetto da 500k righe di codice *vere* da portare su Linux mi sono trovato a lavorare con... Code::Blocks :asd:
Per intenderci ho provato a fare il progetto nell'ordine su make,CMake,Code::Blocks, Eclipse CDT, KDev, e pure QT Creator per scrupolo.

Il responso della ricerca che ho fatto è stato

-make è un tool solidissimo ma richiede troppo hand work
-CMake è troppo, serve se lo usi su tutte le piattaforme, almeno. E comunque fa solo la build quindi rimane 1/3 di IDE (niente debugger, niente editor integrato).
-Code::Blocks: è brutto come la fame, è scomodissimo come GUI, ma non si è rifiutato di fare niente. "It just works". Che è una roba rara su linux. Alla fine l'ho scelto proprio perchè è stato l'unico a funzionare dall'inizio alla fine.
-Eclipse CDT: grandi promesse, ottime qualità, enormi buchi. Pessima gestione del linker, alcuni errori inventati in compilazione, IMPOSSIBILE usare i precompiled header che ancora non sono supportati. Magari tra un anno.
-KDev: brutto e incompleto wrapper di make
-QT Creator: come sopra

Non mi sono avventurato nei meandri di emacs e Vim perchè non ho il coraggio, quelli avrebbero potuto riservare sorprese positive.

Rimane che qualsiasi cosa in termini di solidità del supporto, di aderenza agli standard, ma pure di decenza grafica o di velocità fa pena rispetto a VC ma anche a XCode, e dire che XCode è tutto fatto di roba open.
Lo dice uno che per 3 mesi ha switchato da un sistema all'altro giornalmente (il mio preferito è XCode, ecco, l'ho detto :asd: ).

Come disse un saggio, Linux stesso E' un IDE. Però, un IDE di 20 anni fa :asd:

@Perseverance: sto thread è la fiera della disinformazione :muro:
DevC++ fa schifo perchè ha un fottilione di bug, è vecchio, e PER QUESTO non rispetta gli standard, tant'è che non compila parecchie librerie piuttosto comuni.
VS rispetta tutti gli standard di questo mondo se non si va a usare C++.NET come beoti, che comunque si può disabilitare.
Ma conoscendo la qualità dell'università facile che questa perla l'abbia detta proprio il professore.

@killercode forse per chi deve compilare pippo.c degli esempi dell'università, quindi se intendi "chi inizia" con "chi ha meno di 3 giorni di esperienza".
gcc a riga di comando non è un'opzione nemmeno su Unix, tant'è che esiste make per non usarlo a mano almeno da 30 anni eh.

PS: si è capito il mio hate verso chi ritiene che Linux sia il sistema "haxx0r" perchè "è difficile"? :asd:

killercode
26-01-2012, 02:10
@killercode, @Perseverance: sto thread è la fiera della disinformazione :muro:
DevC++ fa schifo perchè ha un fottilione di bug, è vecchio, e PER QUESTO non rispetta gli standard, tant'è che non compila parecchie librerie piuttosto comuni.
VS rispetta tutti gli standard di questo mondo se non si va a usare C++.NET come beoti, che comunque si può disabilitare.
Ma conoscendo la qualità dell'università facile che questa perla l'abbia detta proprio il professore.

@killercode forse per chi deve compilare pippo.c degli esempi dell'università, quindi se intendi "chi inizia" con "chi ha meno di 3 giorni di esperienza".
gcc a riga di comando non è un'opzione nemmeno su Unix, tant'è che esiste make per non usarlo a mano almeno da 30 anni eh.

PS: si è capito il mio hate verso chi ritiene che Linux sia il sistema "haxx0r" perchè "è difficile"? :asd:

Mai detto nulla a favore di devc++, anzi, non ho mai detto nulla a proposito in generale. Quando dicevo che linux può essere usato da tutti intendevo a livello economico, essendo gratuito può essere scaricato da tutti senza problemi di costi di licenza....esattamente come, per lo stesso motivo si preferisce octave a matlab. Sono motivi del tutto estranei allo sviluppo del codice.
E come corso introduttivo intendo il classico corso annuale che parte dall'hello world fino ad arrivare al polimorfismo. Si parte dal complilare direttamente con gcc e si finisce con make. In ogni caso a questo livello è più veloce che usare un ide

Tommo
26-01-2012, 03:01
Il primo @killercode era di troppo, editato :mc:

Comunque si, ovviamente esageravo; però rimane che a un certo punto un IDE va usato, e quindi non mi sembra granchè vantaggioso installarsi Linux e tutta la solfa solo per rimandare quel giorno di un mese :D

Che poi creare un nuovo progetto su VC, editare il main e pigiare F5 non mi sembra così arduo eh, per quanto sicuramente il valore didattico è minore.

Ecco, una cosa che posso concedere a sfavore degli IDE è che se non si è guidati si può essere portati a vedere come un unico "blob informe" compilatore, linker, editor e debugger, che invece sono cose ben distinte (in C++, parecchio meno negli altri linguaggi).
Sicuramente Linux ti fa capire la distinzione the hard way :asd:

cdimauro
26-01-2012, 09:06
Usano linux perchè può essere installato da tutti quelli che dispongono di un computer e per chi inizia è più semplice lavorare con solo gcc piuttosto che entrare nelle mille opzioni di un ide.
Proprio perché si inizia, non vedo perché bisogna farlo facendosi del male coi concetti di linea di comando, compilatore, linker, make, ecc.

Con VisualStudio dal menù e con un paio di click creo un nuovo progetto, col sorgente già pronto e posso cominciare a scrivere. Un click sul tasto play e ho già lanciato il mio "Hello, world!".

Direi che non c'è proprio paragone.

Inoltre non sta scritto da nessuna parte che bisogna per forza di cose imparare i concetti di cui sopra. Pur essendo un programmatore non di primo pelo, non mi ci smanetto più da diversi anni e... lavoro lo stesso.

Oggi ci sono gli IDE, sia per i novizi che per quelli "scafati": l'età della pietra informatica l'abbiamo già passata da un pezzo. Poi se c'è gente masochista che vuol continuare a farsi del male, nessuno glielo impedisce. :D

vendettaaaaa
26-01-2012, 10:07
Vedo che non sono il solo ad odiare Linux e i suoi comandi da console :asd:
Non sono riuscito ad installare i driver nVidia del mese scorso...va te se dev'essere così "counterintuitive" nel 2012.

Cmq, Qt Creator fa schifo? Perchè? Io l'ho installato perchè sto cominciando a smanettare con le Qt e sicuramente è meglio che Visual Studio (che uso per i programmi non Qt, cioè per apprendere il C++ passo passo. L'intellisense è megagalattico :eek: ) per quello scopo: l'help integrato per ogni classe della libreria è superbo, il compilatore già sa dove andare a cercare le librerie eccetera, quando creo un progetto posso scegliere diversi tipi...
Cos'ha che non va e da che punto di vista?

cdimauro
26-01-2012, 10:17
Hai mai provato a sviluppare un'applicazione con WPF (Windows Presentation Foundation) o Silverlight (una sua "versione ridotta")? Con VisualStudio è tutto molto semplice e integrato.

Poi per le raffinatezze ci sono strumenti come Expression Blend, anche se è a pagamento (ma fortunatamente è gratuito per Windows Phone 7, che è basato su una versione ad hoc di Silverlight), che sono su un altro pianeta.

vendettaaaaa
26-01-2012, 10:28
Hai mai provato a sviluppare un'applicazione con WPF (Windows Presentation Foundation) o Silverlight (una sua "versione ridotta")? Con VisualStudio è tutto molto semplice e integrato.

Poi per le raffinatezze ci sono strumenti come Expression Blend, anche se è a pagamento (ma fortunatamente è gratuito per Windows Phone 7, che è basato su una versione ad hoc di Silverlight), che sono su un altro pianeta.
No, mi pareva fosse deducibile dal mio post ma forse non sono stato limpido: sono agli inizi...giusto ieri ho fatto il mio primo giochino: memory in console :D:D ma niente di più...
Cmq ho ben presente le potenzialità di VS dal punto di vista della facilità di sviluppo (visto vari video di Expression Blend e co), ma volevo capire se Qt Creator presenta evidenti svantaggi dal punto di vista delle operazioni "base" come compilazione, linking...o se i limiti fossero solo nelle "feature" aggiuntive (come appunto un intellisense peggiore, ecc.).

Tommo
26-01-2012, 10:48
Non so dirti su Windows, ma su Linux Qt creator è un wrapperone di make, che per aggiungere files al progetto ti chiede sostanzialmente di scriverlo nel make. In pratica è poco più di un grosso editor, e non sono riuscito a compilarci nulla dopo un 2 ore.
Sarà che non sono paziente, sarà stata una mia incapacità, ma il giudizio di "schifo" mi viene automatico :asd:
Sicuramente è molto peggio rispetto alla fama splendida di cui gode su internet.

Poi certo, se sviluppi per Qt ha il suo perchè :D

PS: Per rendere Visual Studio "definitivo" c'è Visual Assist X (http://www.wholetomato.com/) che fa il meglio Intellisense abbia mai visto... ma purtroppo costa e richiede VC "pro". Con un pò di aiuto da parte dell'università si riesce ad averlo però :D
E pure i Productivity Power Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef?SRC=Home) sono una gran cosa! (li ho scoperti ora, perchè non le integrano ste cose)

vendettaaaaa
26-01-2012, 11:00
Non so dirti su Windows, ma su Linux Qt creator è un wrapperone di make, che per aggiungere files al progetto ti chiede sostanzialmente di scriverlo nel make. In pratica è poco più di un grosso editor, e non sono riuscito a compilarci nulla dopo un 2 ore.
Sarà che non sono paziente, sarà stata una mia incapacità, ma il giudizio di "schifo" mi viene automatico :asd:
Sicuramente è molto peggio rispetto alla fama splendida di cui gode su internet.

Poi certo, se sviluppi per Qt ha il suo perchè :D

PS: Per rendere Visual Studio "definitivo" c'è Visual Assist X (http://www.wholetomato.com/) che fa il meglio Intellisense abbia mai visto... ma purtroppo costa e richiede VC "pro". Con un pò di aiuto da parte dell'università si riesce ad averlo però :D
E pure i Productivity Power Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef?SRC=Home) sono una gran cosa! (li ho scoperti ora, perchè non le integrano ste cose)
Qui su Windows se al progetto aggiungo un file o una dipendenza da una libreria esterna, vengono scritti automaticamente nel file .pro, se è quello che intendi. Sennò non so di che parli.
Ah, ho visto ora che VS2010 Ultimate costa 15300 euro :eek: :eek: :eek: contro i 1000 del Professional...ma che ci mettono dentro, la ricetta della pietra filosofale??? :muro:

Tommo
26-01-2012, 11:08
Non ci mettono dentro niente, è la legge di mercato :asd:
E' un prodotto per le aziende e le aziende sono disposte a spenderli quei soldi, senza problemi. Quindi loro li chiedono :D
Senza contare che la ultimate è la versione con dentro qualsiasi cosa e il supporto tecnico telefonico, mi pare.
Diciamo che sono programmi "su invito", cioè che se ti servono per lavoro dovresti ricevere gratis. Se ti trovi a doverli comprare stai sbagliando qualcosa. O sei un'azienda :D

insane74
26-01-2012, 11:10
Non so dirti su Windows, ma su Linux Qt creator è un wrapperone di make, che per aggiungere files al progetto ti chiede sostanzialmente di scriverlo nel make. In pratica è poco più di un grosso editor, e non sono riuscito a compilarci nulla dopo un 2 ore.
Sarà che non sono paziente, sarà stata una mia incapacità, ma il giudizio di "schifo" mi viene automatico :asd:
Sicuramente è molto peggio rispetto alla fama splendida di cui gode su internet.

Poi certo, se sviluppi per Qt ha il suo perchè :D

PS: Per rendere Visual Studio "definitivo" c'è Visual Assist X (http://www.wholetomato.com/) che fa il meglio Intellisense abbia mai visto... ma purtroppo costa e richiede VC "pro". Con un pò di aiuto da parte dell'università si riesce ad averlo però :D
E pure i Productivity Power Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef?SRC=Home) sono una gran cosa! (li ho scoperti ora, perchè non le integrano ste cose)

io l'ho usato un po' qtcreator proprio su linux e non l'ho trovato affatto male, anzi, e non ho avuto tutti 'sti problemi a scrivere/compilare codice.
ovvio, non avevo scritto l'unreal engine, però non era nemmeno "hello world". :p

tomminno
26-01-2012, 12:07
Non ci mettono dentro niente, è la legge di mercato :asd:
E' un prodotto per le aziende e le aziende sono disposte a spenderli quei soldi, senza problemi. Quindi loro li chiedono :D


Le aziende hanno l'MSDN quindi non pagano quelle cifre per la licenza di VS Ultimate.
La licenza ultimate poi si porta dietro anche TFS.

cdimauro
26-01-2012, 12:22
No, mi pareva fosse deducibile dal mio post ma forse non sono stato limpido: sono agli inizi...giusto ieri ho fatto il mio primo giochino: memory in console :D:D ma niente di più...
Cmq ho ben presente le potenzialità di VS dal punto di vista della facilità di sviluppo (visto vari video di Expression Blend e co), ma volevo capire se Qt Creator presenta evidenti svantaggi dal punto di vista delle operazioni "base" come compilazione, linking...o se i limiti fossero solo nelle "feature" aggiuntive (come appunto un intellisense peggiore, ecc.).
Proprio perché sei agli inizi, a maggior ragione: vai di Visual Studio (stavo scrivendo Basic :asd: , complice il significato dell'acronimo che mi porto in testa da quasi 30 anni :D) e vivi felice.

tomminno
26-01-2012, 12:26
Hai mai provato a sviluppare un'applicazione con WPF (Windows Presentation Foundation) o Silverlight (una sua "versione ridotta")? Con VisualStudio è tutto molto semplice e integrato.

Poi per le raffinatezze ci sono strumenti come Expression Blend, anche se è a pagamento (ma fortunatamente è gratuito per Windows Phone 7, che è basato su una versione ad hoc di Silverlight), che sono su un altro pianeta.

Non sono molto d'accordo per quanto riguarda l'integrazione: per la parte grafica (e WPF e Silverlight sono grafica) non puoi fare a meno di Expression Blend.

Poi effettivamente i tools Microsoft sono i migliori in circolazione :O
L'unica cosa che manca a Microsoft è un adeguato ecosistema per il mondo Enterprise.

WarDuck
26-01-2012, 12:34
Mai detto nulla a favore di devc++, anzi, non ho mai detto nulla a proposito in generale. Quando dicevo che linux può essere usato da tutti intendevo a livello economico, essendo gratuito può essere scaricato da tutti senza problemi di costi di licenza....esattamente come, per lo stesso motivo si preferisce octave a matlab. Sono motivi del tutto estranei allo sviluppo del codice.
E come corso introduttivo intendo il classico corso annuale che parte dall'hello world fino ad arrivare al polimorfismo. Si parte dal complilare direttamente con gcc e si finisce con make. In ogni caso a questo livello è più veloce che usare un ide

Visual Studio Express è free, anche per scopi commerciali ;).

Comunque il vero problema di Linux è l'assenza quasi totale di un debugger grafico decente.

Il che diventa ancora più un problema quando di trovi a fare codice multi-threading.

L'unico che si salva è NetBeans, un IDE pensato per Java, il che è tutto dire.

Per qualche mese ho lavorato in C su Solaris 8 con Xemacs (che non è neanche Emacs)... vuoi fare refactoring? Impossibile (a meno che te la vuoi rischiare con sed). Vuoi cercare chi usa una certa funzione? Vai di grep su ogni cartella di progetto... Oppure di cose come:


find . -name '*' -exec grep -n -i "pippo" {} \; -print


:rolleyes:

E poi si chiedono perché Linux non è diffuso in ambito consumer?

Developers, developers, developers :D.

vendettaaaaa
26-01-2012, 12:41
Proprio perché sei agli inizi, a maggior ragione: vai di Visual Studio (stavo scrivendo Basic :asd: , complice il significato dell'acronimo che mi porto in testa da quasi 30 anni :D) e vivi felice.
Non mi fraintendere, trovo VS fantastico ed intendo usare quello, vai tranquillo :D
Spero che il plugin Qt per VS sia buono, altrimenti credo che per scrivere la mia prima app in Qt, con una bella interfaccia grafica, dovrò usare Qt Creator (che cmq al momento mi pare manchi solo dell'intellisense, altre cose non ho notato. Ovviamente non ho mai compilato niente di che).

WarDuck
26-01-2012, 13:40
Non mi fraintendere, trovo VS fantastico ed intendo usare quello, vai tranquillo :D
Spero che il plugin Qt per VS sia buono, altrimenti credo che per scrivere la mia prima app in Qt, con una bella interfaccia grafica, dovrò usare Qt Creator (che cmq al momento mi pare manchi solo dell'intellisense, altre cose non ho notato. Ovviamente non ho mai compilato niente di che).

Se non ricordo male però non puoi usare plugin esterni con la versione Free (Express), ti serve la Professional.

tecno789
26-01-2012, 13:50
con visual studio si possono fare anche le interfacce dei programmi??

vendettaaaaa
26-01-2012, 13:53
Se non ricordo male però non puoi usare plugin esterni con la versione Free (Express), ti serve la Professional.
Perfetto... :mc:
Proverò ad linkare le qt manualmente, quando proverò a scrivete qualcosa, mal che vada uso Qt Creator.

WarDuck
26-01-2012, 14:24
con visual studio si possono fare anche le interfacce dei programmi??

Purtroppo non più con C/C++ nativi, almeno negli ultimi Visual Studio, Microsoft sta spingendo molto .NET, in questo caso c'è un ottimo GUI designer in Visual Studio.

Tra l'altro con .NET VisualStudio ti da una grossa mano con tutte quelle cose che altrimenti andrebbero fatte da soli (impostazioni del programma, link dell'impostazione con un dato controllo di Windows Form, supporto alla localizzazione built-in, e cose così...).

kurt_85
26-01-2012, 15:20
Nel caso interessasse a qualcuno, vorrei segnalare un progetto relativo al vecchio DevC++, che ha l'obiettivo di riportare in auge questo IDE ormai abbandonato dagli sviluppatori originali. Qui l'ultima versione del "nuovo" DevC++:

http://orwellengine.blogspot.com/2011/12/dev-c-5100-released.html

killercode
26-01-2012, 16:52
Proprio perché si inizia, non vedo perché bisogna farlo facendosi del male coi concetti di linea di comando, compilatore, linker, make, ecc.

Con VisualStudio dal menù e con un paio di click creo un nuovo progetto, col sorgente già pronto e posso cominciare a scrivere. Un click sul tasto play e ho già lanciato il mio "Hello, world!".

Direi che non c'è proprio paragone.

Inoltre non sta scritto da nessuna parte che bisogna per forza di cose imparare i concetti di cui sopra. Pur essendo un programmatore non di primo pelo, non mi ci smanetto più da diversi anni e... lavoro lo stesso.

Oggi ci sono gli IDE, sia per i novizi che per quelli "scafati": l'età della pietra informatica l'abbiamo già passata da un pezzo. Poi se c'è gente masochista che vuol continuare a farsi del male, nessuno glielo impedisce. :D

Ma creando un progetto vengono scritti, oltre al tuo listato una decina di file che non capisci a cosa servono e che non ti servono per IMPARARE a programmare

Visual Studio Express è free, anche per scopi commerciali ;).



Ma Windows no. Meglio non rischiare che qualcuno non possa installarlo perchè non ha windows

p.s. e se ti stai chiedendo chi non dispone di windows la risposta è IO (prima del disastro che hanno fatto con gnome)

!fazz
26-01-2012, 17:04
qualcuno mi spiega come mai questa discussione è degenerata nella solita os-war?

tomminno
26-01-2012, 18:53
Ma creando un progetto vengono scritti, oltre al tuo listato una decina di file che non capisci a cosa servono e che non ti servono per IMPARARE a programmare


Quali?
Ma soprattutto se sono file generati dell'IDE cosa ti interessa?
Se l'ide ti crea un file .sdf, nella cartella puoi pure fregartene se sei agli inizi.
Poi capirai col tempo a cosa serve, ma per programmare è del tutto indifferente la sua presenza o meno.

E cosa mi dici degli IDE Java che ti creano decine di cartelle?
Oltretutto se non sei pratico non capisci nemmeno se un progetto Java è stato fatto con Eclipse o Netbeans.


Ma Windows no. Meglio non rischiare che qualcuno non possa installarlo perchè non ha windows


Windows te lo danno "gratis" con ogni computer che compri.
Basta avere un portatile per avere una licenza di Windows.

Tommo
26-01-2012, 19:48
Ma Windows no. Meglio non rischiare che qualcuno non possa installarlo perchè non ha windows


lol. statisticamente è meglio che ti preoccupi di chi è non vedente, è più facile :asd:

Che dire invece di quelli che non hanno Linux nè un modo per installarlo? Se devo fare OSwar pls STFU :doh:

killercode
26-01-2012, 20:36
Quali?

Windows te lo danno "gratis" con ogni computer che compri.
Basta avere un portatile per avere una licenza di Windows.

no, non lo danno gratis con tutti i computer che compri; come già detto il mio non lo aveva e i mac non lo hanno

lol. statisticamente è meglio che ti preoccupi di chi è non vedente, è più facile :asd:

Che dire invece di quelli che non hanno Linux nè un modo per installarlo? Se devo fare OSwar pls STFU :doh:

ti devi preoccupare sia di chi non ha un proprio computer sia di chi non è vedente fornendogli l'attrezzatura...per legge, sono università pubbliche mica per caso ;)
Inoltre credo (non sò come funziona per le università) che per installare visual studio express sul proprio computer sia necessario attivarlo con un account microsoft live....un'altra cosa che non puoi obbligare i tuoi studenti a fare.
Quindi non puoi fargi fare gli esercizi a casa limitandoti a lavorare solo nelle ore di laboratorio

Non è una os war, sono semplicemente i motivi per cui nelle università viene preferito linux a windows, tutti motivi che non hanno nulla a che vedere con la qualità del software

lishi
26-01-2012, 21:18
Hai mai provato a sviluppare un'applicazione con WPF (Windows Presentation Foundation) o Silverlight (una sua "versione ridotta")? Con VisualStudio è tutto molto semplice e integrato.

Poi per le raffinatezze ci sono strumenti come Expression Blend, anche se è a pagamento (ma fortunatamente è gratuito per Windows Phone 7, che è basato su una versione ad hoc di Silverlight), che sono su un altro pianeta.

Penso che stiamo parlando di c++.

Hai provato a sviluppare una applicazione MFC usando visual studio? :asd:

Certo che è il migliore ambiente di sviluppo per le MFC, ciò non toglie che faccia schifo il supporto presente.

Per quando riguarda il resto penso che sia importante che una persona comprenda cosa sia il compilatore, cosa il linker, cosa sono i percorsi header, le directory addizionali per il linker etc.

Quindi almeno all'inizio quando si tratta di pochi file uno dovrebbe lanciare tutto da riga di commando.

Cosi quando arriva inevitabile momento per cui IDE scoppia sa cosa dover toccare.

Agat
26-01-2012, 21:43
Quindi almeno all'inizio quando si tratta di pochi file uno dovrebbe lanciare tutto da riga di commando.

Quotazzo :O

marco.r
27-01-2012, 17:46
-CMake è troppo, serve se lo usi su tutte le piattaforme, almeno. E comunque fa solo la build quindi rimane 1/3 di IDE (niente debugger, niente editor integrato).

Cmake e' un build tool, non un ide !
Lo usi in parallelo ad un ide e per quello che serve e' un ottimo prodotto, soprattutto quando permette ad un gruppo di sviluppatori di continuare ad usare ognuno il proprio ambiente di sviluppo: Con cmake puoi generare progetti per visual studio, code::blocks, eclipse etc.
Inoltre e' molto pratico per tenere separato il progetto dalle sue variabili (i.e. nel repository mi finisce l'elenco dei file, la generazione della documentazione etc., ma NON il percorso delle librerie).


Non mi sono avventurato nei meandri di emacs e Vim perchè non ho il coraggio, quelli avrebbero potuto riservare sorprese positive.

Male, male :D

marco.r
27-01-2012, 17:56
Visual Studio Express è free, anche per scopi commerciali ;).

Comunque il vero problema di Linux è l'assenza quasi totale di un debugger grafico decente.

Il che diventa ancora più un problema quando di trovi a fare codice multi-threading.

L'unico che si salva è NetBeans, un IDE pensato per Java, il che è tutto dire.

Per qualche mese ho lavorato in C su Solaris 8 con Xemacs (che non è neanche Emacs)... vuoi fare refactoring? Impossibile (a meno che te la vuoi rischiare con sed). Vuoi cercare chi usa una certa funzione? Vai di grep su ogni cartella di progetto... Oppure di cose come:

Se devi usare ancora emacs prova a dare una occhiata a cedet http://cedet.sourceforge.net/ .Non e' ancora completo ma ha diverse di queste funzionalita (trova i riferimenti, chi chiama chi etc.). Il refactoring manca ancora, ma avendo gia' i riferimenti non dovrebbe essere complicato aggiungerlo per cui sono fiducioso che arrivi. Come (quasi) tutto in emacs il setup iniziale e' eccessivamente macchinoso, ma ne vale la pena.

Btw se uno ci fa un po' di mano emacs ha un buon supporto per l'uso interattivo di gdb e valgrind.

-Slash
28-01-2012, 10:04
Io uso il plugin di netbeans perche' mi piace usare solo netbeans per tutti i linguaggi di programmazione e mi trovo bene. Certo pero' non faccio cose avanzatissime e quindi non ho idea se altri ide siano migliori, ma se non devi fare programmi per la nasa va piu' che bene.

Tra l'altro c'e' anche l'integrazione con le QT...

!fazz
28-01-2012, 10:54
Penso che stiamo parlando di c++.

Hai provato a sviluppare una applicazione MFC usando visual studio? :asd:

Certo che è il migliore ambiente di sviluppo per le MFC, ciò non toglie che faccia schifo il supporto presente.

Per quando riguarda il resto penso che sia importante che una persona comprenda cosa sia il compilatore, cosa il linker, cosa sono i percorsi header, le directory addizionali per il linker etc.

Quindi almeno all'inizio quando si tratta di pochi file uno dovrebbe lanciare tutto da riga di commando.

Cosi quando arriva inevitabile momento per cui IDE scoppia sa cosa dover toccare.

ma anche no, vuoi mettere la comodità di usare solo un click per compilare, buildare e lanciare il progetto, soprattutto su robe piccole senza particolari requisiti di compatibilità e teamworking non c'è niente di più comodo senza contare le possibilità di debug (non dirmi che gdb è comodo)

pabloski
28-01-2012, 19:13
Bah, dico la mia.

Per chi comincia col c++, codeblocks è una manna dal cielo. Niente interfacce supercomplicate ( xcode mi senti??? ), niente sbattimenti inutili.

Per chi lo fa per professione, i tool dell'ex borland aka embarcadero, sono stupendi. Delphi e Delphi builder sono il top dei top, ma visto che stiamo parlando di c++, c++ builder non scherza affatto.

Visual studio ultimamente è diventato incasinato, a causa di tutte quelle cose su .net, wpf, i puffi, ecc... Nell'ultima versione ( quella che ho trovato fornita con windows 8 developer preview ) non c'è manco la possibilità di creare programmi cli. Ok che a Redmond doppio-cliccano tutto, però c'è gente qua fuori che ha bisogno della cli, soprattutto su windows server si usa ancora la riga di comando.

Per linux qtcreator è il migliore ide a disposizione, a parte emacs ( imparare ad usarlo però :D ). Oltre ci sono netbeans ed eclipse. Eclipse molto più incasinato, bisogna farci la mano e a volte non è facile. Netbeans è decisamente molto molto più liscio.

pabloski
28-01-2012, 19:24
No, mi pareva fosse deducibile dal mio post ma forse non sono stato limpido: sono agli inizi...giusto ieri ho fatto il mio primo giochino: memory in console :D:D ma niente di più...


ho appena letto questo tuo post e allora rilancio....usa codeblocks, risparmi casini a vagonate ed è pure un ide multipiattaforma ( cosa che per chi inizia col c++ non è da sottovalutare )


Cmq ho ben presente le potenzialità di VS dal punto di vista della facilità di sviluppo (visto vari video di Expression Blend e co), ma volevo capire se Qt Creator presenta evidenti svantaggi dal punto di vista delle operazioni "base" come compilazione, linking...o se i limiti fossero solo nelle "feature" aggiuntive (come appunto un intellisense peggiore, ecc.).

no, qt non ha limiti per applicazioni medie, per cui puoi usarlo senza problemi

p.s. aggiungo che stanno facendo progressivamente un lavoro sempre migliore di snellimento del framework....leggo spesso di gente che si lamenta delle dimensioni di qt, ma il deployment di un'app qt richiede in media 50 MB ( del tutto in linea ad esempio con .net )

pure il sdk non ha queste dimensioni esagerate, essendo in linea con i competitor

rimasi allibito invece dei 200 MB e passa che .net 3.5 richiedeva, per fortuna col 4 hanno corretto il tiro

complessivamente qt rappresenta un ottimo framework multipiattaforma con un mucchio di bindings, utilizzabile per applicazioni di qualsiasi tipo, su pc, mobile, ecc.... un bel colpaccio per gli sviluppatori

WarDuck
29-01-2012, 13:05
Bah, dico la mia.

Per chi comincia col c++, codeblocks è una manna dal cielo. Niente interfacce supercomplicate ( xcode mi senti??? ), niente sbattimenti inutili.


Dissento fortemente, basta andare nel pannello delle opzioni per rendertene conto.

Poi non ho mai capito quegli IDE che ragionano per workspace o per "sessione", anziché ragionare semplicemente per Progetto (come NetBeans ad esempio).

C'è da dire che in Visual Studio hai il concetto di Soluzione che di fatto è un contenitore di più Progetti.


Visual studio ultimamente è diventato incasinato, a causa di tutte quelle cose su .net, wpf, i puffi, ecc... Nell'ultima versione ( quella che ho trovato fornita con windows 8 developer preview ) non c'è manco la possibilità di creare programmi cli. Ok che a Redmond doppio-cliccano tutto, però c'è gente qua fuori che ha bisogno della cli, soprattutto su windows server si usa ancora la riga di comando.


E' chiaro che nel caso di una piattaforma così vasta come .NET, vanno comprese le varie componenti per poterle sfruttare a pieno, e con esse i tool collegati. Ma questo è un discorso separato dall'IDE.

Relativamente alla cli, c'è sempre da vedere la versione finale (magari integrano tutto con Powershell, sarebbe bello avere una sorta di interprete C# :D).


Per linux qtcreator è il migliore ide a disposizione, a parte emacs ( imparare ad usarlo però :D ). Oltre ci sono netbeans ed eclipse. Eclipse molto più incasinato, bisogna farci la mano e a volte non è facile. Netbeans è decisamente molto molto più liscio.

QtCreator l'ho provato, ma la sua interfaccia "alternativa" non mi ha convinto più di tanto.

vendettaaaaa
29-01-2012, 13:59
QtCreator ha una sorta di autocompletamento delle parentesi: quando apro una tonda, mi crea già la tonda chiusa, idem con le virgolette per le string literal, e quando definisci una classe mette pure il ; dopo la graffa chiusa :D
C'è modo di abilitare questa funzione su VS2010?

ESSE-EFFE
29-01-2012, 14:09
i tool dell'ex borland aka embarcadero, sono stupendi. Delphi e Delphi builder sono il top dei top, ma visto che stiamo parlando di c++, c++ builder non scherza affatto.

Quoto. E aggiungo la VCL, che per quanto riguarda lo sviluppo desktop o client/server non ha niente da invidiare al framework .NET, anzi. Discorso a parte per il mondo Web.

tomminno
29-01-2012, 15:25
Visual studio ultimamente è diventato incasinato, a causa di tutte quelle cose su .net, wpf, i puffi, ecc... Nell'ultima versione ( quella che ho trovato fornita con windows 8 developer preview ) non c'è manco la possibilità di creare programmi cli. Ok che a Redmond doppio-cliccano tutto, però c'è gente qua fuori che ha bisogno della cli, soprattutto su windows server si usa ancora la riga di comando.


Se per Cli intendi Command Line Interface invece di Common Language Infrastructure (C++/CLI) non lo trovi sulla developer preview perchè serve per far conoscere Metro agli sviluppatori, non pretende di essere una beta di VS2012.

pabloski
29-01-2012, 16:51
Se per Cli intendi Command Line Interface invece di Common Language Infrastructure (C++/CLI) non lo trovi sulla developer preview perchè serve per far conoscere Metro agli sviluppatori, non pretende di essere una beta di VS2012.

boh, non saprei, in passato c'è sempre stata

non vedo perchè togliere da una developer preview di vs2012 quella possibilità....lavoro in più per nulla?

io invece temo che leveranno proprio la possibilità di creare applicazioni a riga di comando

WarDuck
29-01-2012, 17:34
boh, non saprei, in passato c'è sempre stata

non vedo perchè togliere da una developer preview di vs2012 quella possibilità....lavoro in più per nulla?

io invece temo che leveranno proprio la possibilità di creare applicazioni a riga di comando

Forse vogliono integrare la CLI con Powershell? Chiaramente è solo una ipotesi.

pabloski
29-01-2012, 17:45
Forse vogliono integrare la CLI con Powershell? Chiaramente è solo una ipotesi.

non sarebbe male

però se non danno la possibilità di creare programmi senza gui, sarà comunque un problema :D

Tommo
29-01-2012, 19:15
QtCreator ha una sorta di autocompletamento delle parentesi: quando apro una tonda, mi crea già la tonda chiusa, idem con le virgolette per le string literal, e quando definisci una classe mette pure il ; dopo la graffa chiusa :D
C'è modo di abilitare questa funzione su VS2010?

Visual Assist X (http://www.wholetomato.com/products/default.asp), che però costa, oppure Visual Studio Productivity Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef).

Entrambi imo sono vitali per rendere veramente awesome VC, peccato che le estensioni funzionano solo sulla versione pro :stordita:

Protip: non serve per forza il wizard per creare un progetto "nativo", basta creare un progetto vuoto e aggiungerci i file :asd:

marco.r
29-01-2012, 20:06
Visual Assist X (http://www.wholetomato.com/products/default.asp), che però costa, oppure Visual Studio Productivity Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef).

Entrambi imo sono vitali per rendere veramente awesome VC, peccato che le estensioni funzionano solo sulla versione pro :stordita:

Oddio, mi aspetterei che almeno tre quarti delle funzionalita' elencate per Visual Assist X facessero parte dell'IDE di base, almeno quello a pagamento :mbe:. A parte le funzionalita' di refactoring il resto mi sembra roba abbastanza di base ...

vendettaaaaa
29-01-2012, 20:51
Visual Assist X (http://www.wholetomato.com/products/default.asp), che però costa, oppure Visual Studio Productivity Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef).

Entrambi imo sono vitali per rendere veramente awesome VC, peccato che le estensioni funzionano solo sulla versione pro :stordita:

Protip: non serve per forza il wizard per creare un progetto "nativo", basta creare un progetto vuoto e aggiungerci i file :asd:
Ah ecco, non basterebbero 1000 euro per avere l'autocompletamento delle parentesi :asd:

starfred
29-01-2012, 21:58
IMHO:
vim
syntax on

Progetti normali:
make

Big progetti:
make + configure

Tommo
30-01-2012, 00:01
Oddio, mi aspetterei che almeno tre quarti delle funzionalita' elencate per Visual Assist X facessero parte dell'IDE di base, almeno quello a pagamento :mbe:. A parte le funzionalita' di refactoring il resto mi sembra roba abbastanza di base ...

In effetti c'è da dire che l'editor in sè è una delle cose meno riuscite di VC++, diciamo pure che è abbastanza lasciato a se stesso... c'è parecchio da migliorare, e per fortuna esistono quei tool che colmano un sacco di lacune.

Ah ecco, non basterebbero 1000 euro per avere l'autocompletamento delle parentesi :asd:

C'è chi riesce a ottenerli gratuitamente in qualche modo (MSDN, MSDNAA), o altrimenti (http://cristgaming.com/pirate.swf) :asd:

tomminno
30-01-2012, 00:45
Ah ecco, non basterebbero 1000 euro per avere l'autocompletamento delle parentesi :asd:

Io la trovo una funzionalità alquanto fastidiosa, finisce il più delle volte che tocca a cancellare i carratteri automaticamente aggiunti...

WarDuck
30-01-2012, 11:31
In effetti c'è da dire che l'editor in sè è una delle cose meno riuscite di VC++, diciamo pure che è abbastanza lasciato a se stesso... c'è parecchio da migliorare, e per fortuna esistono quei tool che colmano un sacco di lacune.


E' chiaro che vogliono spingere .NET, se nel nuovo Windows 8 miglioreranno ulteriormente le prestazioni del framework, francamente ci sono ben pochi motivi per usare C/C++ su Windows.

ESSE-EFFE
30-01-2012, 12:02
francamente ci sono ben pochi motivi per usare C/C++ su Windows.
Limitandoci a VisualStudio non posso che condividere: meglio C# che C++. Ma in termini generali no, di buoni motivi per usare C/C++ su Windows, a mio parere, ce ne sono.

WarDuck
30-01-2012, 13:02
Limitandoci a VisualStudio non posso che condividere: meglio C# che C++. Ma in termini generali no, di buoni motivi per usare C/C++ su Windows, a mio parere, ce ne sono.

Ad esempio? Salvo casi specifici non c'è alcun bisogno di C++, ormai tutti i linguaggi mettono a disposizione bindings vari, ci si può limitare a scrivere parti che richiedano maggiori prestazioni o una gestione della memoria più accurata in C/C++ e per il resto usare C#, sempre tenuto conto che sia quello il vero collo di bottiglia dell'applicazione.

Che io sappia poi Microsoft ha in cantiere di migliorare ulteriormente le prestazioni del CLR (con il 4.0 hanno aggiunto interessanti novità, anche per quanto riguarda il multithreading).

ESSE-EFFE
30-01-2012, 13:24
Ad esempio? Salvo casi specifici non c'è alcun bisogno di C++
Non è questione di averne bisogno, chiaro che con C# posso fare tutto o quasi, esattamente come in C/C++. In effetti mi rendo conto che ho parlato di linguaggi, ma mi riferisco soprattutto alle librerie/framework utilizzati. Ci sono diverse situazioni dove trovo framework diversi dal .NET (si parlava di VCL) meglio strutturati per determinati aspetti (e viceversa ovviamente). Insomma, a mio parere la scelta dipende (come sempre) da cosa si deve realizzare (e da come), il che non esclude C/C++, questo volevo dire.

marco.r
30-01-2012, 13:36
Ad esempio? Salvo casi specifici non c'è alcun bisogno di C++, ormai tutti i linguaggi mettono a disposizione bindings vari, ci si può limitare a scrivere parti che richiedano maggiori prestazioni o una gestione della memoria più accurata in C/C++ e per il resto usare C#, sempre tenuto conto che sia quello il vero collo di bottiglia dell'applicazione.

Che io sappia poi Microsoft ha in cantiere di migliorare ulteriormente le prestazioni del CLR (con il 4.0 hanno aggiunto interessanti novità, anche per quanto riguarda il multithreading).

Ho letto recentemente di un paio di applicazioni C# che sono state riscritte in C++ per motivi di performance. Purtroppo al momento non trovo il link, se lo trovo lo posto.
In ogni caso (per fortuna) programmare sotto Windows non vuol dire solo programmare interfacce utente, dove sembra molto piu' pratico usare C#. Motivi per usare il C++ possono essere le performance, librerie pre esistenti e la necessita' di far funzionare il programma anche sotto Windows, ma non solo.