PDA

View Full Version : Miglior programma per scrivere codice c++


Fatal Frame
03-11-2012, 12:58
A suo tempo usavo Borland C++ 5.x alle superiori

E' ancora possibile recuperarlo ?? Non mi ricordo se è a pagamento o gratuito ...

Vincenzo1968
03-11-2012, 14:08
Cara vecchia gloriosa Borland. Io cominciai col Borland C++ 4.0.
Conservo ancora lo scatolone con tanto di manualoni in lingua italiana.
Bei tempi, bellissimi ricordi.

Al giorno d'oggi ti consiglierei Visual Studio; trovi la versione gratuita nel sito della microsoft. Oppure Code Blocks:

http://www.codeblocks.org/

;)

tomminno
03-11-2012, 14:53
Per C++ oggi o Visual Studio o QtCreator (tanto creare interfacce grafiche oggi serve e con QtCreator si fanno in un attimo).

Fatal Frame
03-11-2012, 15:03
Per creare interfacce grafiche senza problemi (senza costruirle scrivendo codice), cosa è meglio usare ??

Vincenzo1968
03-11-2012, 15:18
Per C++ oggi o Visual Studio o QtCreator (tanto creare interfacce grafiche oggi serve e con QtCreator si fanno in un attimo).

Quoto. QT ottime librerie cross-platform e QTCreator ottimo IDE(consente anche di usare clang e clang++ (http://clang.llvm.org/) al posto di mingw).

;)

Vincenzo1968
03-11-2012, 15:18
Per creare interfacce grafiche senza problemi (senza costruirle scrivendo codice), cosa è meglio usare ??

Come detto sopra QT con QTCreator. Un po' di codice devi comunque scriverlo.

Vincenzo1968
03-11-2012, 15:38
Link utili:

http://qt-project.org/

http://doc.qt.digia.com/

http://www.qt-italia.org/

http://www.qtsoftware.com/

http://it.wikipedia.org/wiki/Qt_(toolkit)

Getting Started:
http://qt-project.org/doc/qt-4.8/gettingstartedqt.html
http://qt-project.org/wiki/Introduzione_a_Qt
http://qt-project.org/wiki/getting_started_with_qt_italian
http://qt-project.org/wiki/Guida_introduttiva_alla_programmazione_con_QML
http://qt-project.org/wiki/Introduzione_Alla_Programmazione_Con_QML


Documentazione:
http://qt-project.org/doc/qt-4.8/

Documentazione QT Creator:
http://doc.qt.digia.com/qtcreator/index.html

Tommo
03-11-2012, 18:25
Per creare interfacce grafiche senza problemi (senza costruirle scrivendo codice), cosa è meglio usare ??

Senza problemi? Qualsiasi cosa non sia C++ :asd:
E no, Qt di "problemi" ne ha un mare.

Fatal Frame
03-11-2012, 18:29
Senza problemi? Qualsiasi cosa non sia C++ :asd:
E no, Qt di "problemi" ne ha un mare.
In che senso ??

Tommo
03-11-2012, 19:52
Mah, in realtà niente di veramente pratico - è solo che per funzionare col C++ hanno dovuto reinventare mezzo linguaggio, un build system e un IDE, quindi l'intero framework è fondamentalmente un hack - il che da una parte dimostra che il C++ non è adatto a fare UI.
Anche MS che pure lo supporta come linguaggio di WinRT ha dovuto aggiungere estensioni per l'interfaccia :D

Il mio consiglio per fare robe fatte bene è usare i tool "preferiti" della piattaforma, quindi C#/NET su win, ObjC+Cocoa su mac, ObjC+CocoaTouch su iOS, Java su Android, etc.
Se poi vuoi solo darti una mossa Qt va benissimo :D

karch_kiraly
04-11-2012, 08:18
Per windows io rimarrei su visual studio. Oltre alla fase di debugging che e' ben integrata, c'e' da tener conto che la maggior parte di componenti e progetti gia fatti li trovi per questa piattaforma.

Fatal Frame
04-11-2012, 11:32
Per windows io rimarrei su visual studio. Oltre alla fase di debugging che e' ben integrata, c'e' da tener conto che la maggior parte di componenti e progetti gia fatti li trovi per questa piattaforma.
Devo recuperare Visual Studio in generale ?? Ho già il 2010 mai usato

Va bene con C++ ?? Non mi serve il C# ribadisco :fagiano:

Vincenzo1968
04-11-2012, 11:48
Devo recuperare Visual Studio in generale ?? Ho già il 2010 mai usato

Va bene con C++ ?? Non mi serve il C# ribadisco :fagiano:

Se non ti serve C# allora usa QT con QTCreator. Le librerie QT sono un miliardo di volte meglio rispetto alle MFC di Microsoft.

;)

AllerITA
04-11-2012, 11:51
Anch'io vengo dal lontano Borland Turbo C poi passato a Borland C++, il visual studio ti offre il Visual C++ che è un ambiente integrato con Windows oltre ad utilizzare le standard library del linguaggio C++, comunque online sul sito msdn trovi la documentazione più esaustiva su i cambiamenti e le novità di questo sistema di sviluppo, ti avverto però che molti passi avanti sono stati fatti dalle librerie della Borland forse ti converrà studiare qualche buon testo di visual c++
per utilizzarlo al meglio.

[Kendall]
04-11-2012, 11:51
Devo recuperare Visual Studio in generale ?? Ho già il 2010 mai usato

Va bene con C++ ?? Non mi serve il C# ribadisco :fagiano:

Dal sito ufficiale puoi scaricarti la versione Express di Visual Studio 2012, che fortunatamente finalmente è stata distribuita con un pacchetto unico anzichè singolarmente per i vari linguaggi.

Visual Studio puoi usarlo anche per il C++ si.

Fatal Frame
04-11-2012, 11:59
;38417745']Dal sito ufficiale puoi scaricarti la versione Express di Visual Studio 2012, che fortunatamente finalmente è stata distribuita con un pacchetto unico anzichè singolarmente per i vari linguaggi.

Visual Studio puoi usarlo anche per il C++ si.
Non è meglio il 2010 commerciale che il 2012 gratuito ?? Gratuito e limitato in alcune funzionalità ??

Forse poi il 2010 appesantisce troppo il PC ??

Vincenzo1968
04-11-2012, 12:07
... Gratuito e limitato in alcune funzionalità ??

...

Esatto. La versione gratuita, per esempio, non include le MFC. Quindi per sviluppare applicazioni con interfaccia grafica dovresti utilizzare le API di Windows.

Ribadisco, meglio QT che MFC.

Fatal Frame
04-11-2012, 12:16
Ma QTCreator è commerciale ??

http://qt.digia.com

Vincenzo1968
04-11-2012, 12:42
Esiste la versione commerciale e le versione freeware/open source. Quest'ultima la puoi scaricare da qui:

http://qt-project.org/

La licenza è LGPL. Se sviluppi software free e opensource non devi pagere niente. Se sviluppi software commerciale devi acquistare la licenza di sviluppo(una sola, cioè, non una per ogni programma sviluppato. In ogni caso neanche MFC è gratuito(come già detto non è disponibile nella versione gratuita di Visual studio).

Le MFC sono poco più che un wrapper intorno alle API di Windows. Se devi fare una cosa semplice come cambiare il font di una casella di edit, com MFC devi scrivere decine di righe di codice. Con QT basta chiamare la funzione SetFont del Widget.

Edit: Dimenticavo: Se QT Creator non ti piace come ambiente di sviluppo, puoi utilizzare QT con Visual Studio; basta installare il relativo plugin(non mi ricordo se è disponibile gratuitamente o a pagamente. Cerca nella documentazione).

cdimauro
04-11-2012, 14:10
Sei rimasto un po' indietro: le MFC rappresentano la preistoria, mentre le ultime API sono le WinFX (mi pare che si chiamino così), ma già da anni gli sviluppatori Windows si godono le favolose WPF (Windows Presentation Foundation) & co. ;)

Vincenzo1968
04-11-2012, 14:27
Sei rimasto un po' indietro: le MFC rappresentano la preistoria, mentre le ultime API sono le WinFX (mi pare che si chiamino così), ma già da anni gli sviluppatori Windows si godono le favolose WPF (Windows Presentation Foundation) & co. ;)

Io comunque mi trovo benissimo con le QT. E anche la maggior parte degli utilizzatori di Python, se non sbaglio, la pensano allo stesso modo(ricordo di aver letto da qualche parte che pyQT è la libreria per interfacce grafiche più utilizzata nel mondo Python).

http://www.python.it/wiki/show/qttutorial/

http://en.wikipedia.org/wiki/PyQt

http://www.riverbankcomputing.com/static/Docs/PyQt4/html/
http://www.riverbankcomputing.co.uk/software/pyqt/intro

http://wiki.python.org/moin/PyQt

[Kendall]
04-11-2012, 15:49
Se si programma sotto Windows non c'è nulla di paragonabile alle wpf. Le QT sono librerie molto valide, ma soprattutto per le performance (essendo per C++) e la questione multipiattaforma piuttosto che per le reali possibilità che offrono. Se un programmatore prova le wpf, difficilmente torna indietro.

Vincenzo1968
04-11-2012, 15:57
E proprio la programmazione multipiattaforma che mi frega, ché mi piacerebbe programmare, per esempio, in c#, gran bel linguaggio, ma è limitato a Windows(e per favore non ditemi di mono: chi lo usa su Linux?).

Comunque:

http://www.qtrac.eu/pyqtbook.html

http://www.qtrac.eu/pyqtbookm.png

[Kendall]
04-11-2012, 16:10
E proprio la programmazione multipiattaforma che mi frega, ché mi piacerebbe programmare, per esempio, in c#, gran bel linguaggio, ma è limitato a Windows(e per favore non ditemi di mono: chi lo usa su Linux?).

Io non programmo per Linux, ma ci sono progetti molto importanti che si basano su Mono (vedi per esempio Bunshee ed F-Spot)

tomminno
04-11-2012, 16:21
Mah, in realtà niente di veramente pratico - è solo che per funzionare col C++ hanno dovuto reinventare mezzo linguaggio, un build system e un IDE, quindi l'intero framework è fondamentalmente un hack - il che da una parte dimostra che il C++ non è adatto a fare UI.
Anche MS che pure lo supporta come linguaggio di WinRT ha dovuto aggiungere estensioni per l'interfaccia :D

Il mio consiglio per fare robe fatte bene è usare i tool "preferiti" della piattaforma, quindi C#/NET su win, ObjC+Cocoa su mac, ObjC+CocoaTouch su iOS, Java su Android, etc.
Se poi vuoi solo darti una mossa Qt va benissimo :D

Mi pare un po' difficile riuscire a conoscere bene C#, Objective C e Java.
Il risultato sarebbero 3 aborti...
Ci vogliono anni anche solo per impararne uno, figuriamoci 3...
Mettiamoci in più l'enorme livello di frammentazione del mondo Java e sei a posto.

tomminno
04-11-2012, 16:23
;38419090']Se un programmatore prova le wpf, difficilmente torna indietro.

Se un programmatore prova le wpf, si rende conto di aver bisogno di un grafico e di un altro tool oltre a Visual Studio...

Vincenzo1968
04-11-2012, 16:24
;38419220']Io non programmo per Linux, ma ci sono progetti molto importanti che si basano su Mono (vedi per esempio Bunshee ed F-Spot)

Ottima cosa, non lo sapevo. Mi dedicherò anche al C# che, ripeto, considero un gran bel linguaggio. ;)

Dall'introduzione al libro (http://www.qtrac.eu/pyqtbook.html) di cui sopra:

...
Python is probably the easiest to learn and nicest scripting language in
widespread use,and Qt is probably the best library for developing GUI applica-
tions. The combination of Python and Qt, “PyQt”, makes it possible to develop
applications on any supported platform and run them unchanged on all the
supported platforms—for example, all modern versions of Windows, Linux,
Mac OS X, and most Unix-based systems. No compilation is required thanks
to Python being interpreted, and no source code changes to adapt to different
operating systems are required thanks to Qt abstracting away the platform-
specific details. We only have to copy the source file or files to a target machine
that has both Python and PyQt installed and the application will run.
...

cdimauro
04-11-2012, 16:28
Io comunque mi trovo benissimo con le QT. E anche la maggior parte degli utilizzatori di Python, se non sbaglio, la pensano allo stesso modo(ricordo di aver letto da qualche parte che pyQT è la libreria per interfacce grafiche più utilizzata nel mondo Python).

http://www.python.it/wiki/show/qttutorial/

http://en.wikipedia.org/wiki/PyQt

http://www.riverbankcomputing.com/static/Docs/PyQt4/html/
http://www.riverbankcomputing.co.uk/software/pyqt/intro

http://wiki.python.org/moin/PyQt
Lo so (comunque PySide è destinato a prendere il posto di PyQT), ma questo è un altro discorso.

Se vuoi GODERE sviluppando interfacce grafiche, le WPF sono da doppia libidine coi fiocchi (e con qualunque linguaggio: C++/CLR, C#, IronPython, ecc.). :sbav:

@tomminno: è vero, serve comunque un grafico, ma questo a prescindere dal framework che usi. Qualcuno che abbia un senso dell'estetica e che progetti l'interfaccia grafica serve sempre. I programmatori non sono automaticamente anche artisti.

Condivido anche il fatto che avere padronanza di tutte e 3 le piattaforme mobile è un'impresa non da poco. Perché oltre ai linguaggi diversi, c'è anche il framework; l'ecosistema.

Vincenzo1968
04-11-2012, 16:44
QT & Ruby:

http://techbase.kde.org/Development/Languages/Ruby
http://rubyforge.org/projects/korundum/

http://en.wikipedia.org/wiki/QtRuby

http://www.darshancomputing.com/qt4-qtruby-tutorial/

http://zetcode.com/gui/rubyqt/

[Kendall]
04-11-2012, 16:45
Se un programmatore prova le wpf, si rende conto di aver bisogno di un grafico e di un altro tool oltre a Visual Studio...

L'estetica di un'interfaccia grafica ha bisogno di cura a prescindere dalla libreria grafica utilizzata. Semplicemente le wpf offrono molte più possibilità (e quindi molte più variabili da gestire, ergo la complessità aumenta) rispetto alla maggior parte delle librerie grafiche disponibili attualmente.
Quindi si, un grafico serve a prescindere per progetti professionali, ma programmatori non professionisti possono utilizzare le wpf e ottenere ottimi risultati anche senza un grafico, basta avere un minimo senso estetico e la voglia di sbattersi con le wpf (che non sono certo banali)

*andre*
04-11-2012, 23:01
@ Fatal Frame:

se vuoi un piccolo feedback, sto provando da una settimana QtCreator. Me lo hanno consigliato in un altro Thread.
Mi trovo bene è semplice, veloce e ha tutto quello che mi serve (non sono esperto di C++)
Nulla ti vieta di provarlo :)
Se vuoi fare come me, scarichi l'installer dell'SDK e ti installi ciò di cui hai bisogno ;)

PS: Ti conviene quello online, così scarica solo quello di cui ha bisogno

Fatal Frame
04-11-2012, 23:51
Alla fine devo creare un programma in c++ che comunichi con la porta RS232 del PC, cosa mi consigliate di usare ??


http://www.arcelect.com/9_PIN_PIN_OUT.GIF

Fatal Frame
08-11-2012, 23:39
Penso vada bene a questo punto Visual Studio 2012 ??

marco.r
09-11-2012, 00:03
Se un programmatore prova le wpf, si rende conto di aver bisogno di un grafico e di un altro tool oltre a Visual Studio...

Mentre se un programmatore prova quel parente di Wpf che e' silverlight, arriva alla conclusione che il team di sviluppo di Visual Studio andrebbe impalato su una colonna di due metri costruita coi dvd di installazione e arso vivo bruciando i manuali utente.
Roba che uno rivaluta l'accoppiata notepad piu' compilatore da linea di comando
(si', e' una iperbole, ma pensare che e' fuori la versione nuova quando la versione vecchia ancora non funziona bene e ogni tanto si pianta...)

cdimauro
09-11-2012, 08:50
Immagino che ti riferisca alla versione desktop, che non ho mai provato, per cui non mi posso esprimere.

Ma Silverlight su Windows Phone 7 è una manna dal cielo. VisualStudio è fantastico, anche per definire l'interfaccia grafica a manina con XAML. Per i grafici, invece, c'è Expression Blend...
Non li sostituirei mai con nient'altro.

Pixel452
09-11-2012, 13:32
L'intellisense di Visual Studio 2010 per C++ è pura merda, evitalo. Quello di VS2012 è molto meglio quindi usa quello. Per le interfacce grafiche su Windows WPF è una figata ma si programma in C#. Se ti serve qualcosa di multipiattaforma vai di QT con qtCreator. Indipendentemente dalla libreria per fare interfacce fatte bene ti serve un grafico, a meno che tu non sia bravo anche in quel campo.

SilverLight non è perfetto e VS ogni tanto si fa i cazzi suoi, ma se confrontato con le altre tecnologie, tipo JS e HTML5 per il WEB, diventa come una modella russa di 20 anni :D

Peccato che il mondo abbia deciso che i plug-in siano il male e che JS sia il salvatore del mondo, quando, IMHO, preferirei andare a pulire una stalla piuttosto che usarlo, non vedo l'ora di riuscire a provare TypeScript su VS2012 sperando che renda nuovamente sopportabile sviluppare sul WEB...

marco.r
09-11-2012, 23:54
Immagino che ti riferisca alla versione desktop, che non ho mai provato, per cui non mi posso esprimere.

Ma Silverlight su Windows Phone 7 è una manna dal cielo. VisualStudio è fantastico, anche per definire l'interfaccia grafica a manina con XAML. Per i grafici, invece, c'è Expression Blend...
Non li sostituirei mai con nient'altro.

Silverlight come tecnologia e' piacevole.. E' Visual Studio con Silverlight che non mi piace.
L'editor XAML e' lento e macchinoso. Penso lo sappiano anche gli autori perche' regolarmente quando carichi l'interfaccia ti appare "Sto caricando l'interfaccia, premi esc se hai perso ogni speranza", oppure "Sto cercando il testo anche nell XAML, se non hai 5 minuti di tempo da aspettare premi pure esc". etc. :D. Senza contare le volte che il processo di build si pianta con un errore di out of memory.
Sara' colpa del fatto che l'ambiente e' a 32 bit (la macchina virtuale e' a 32 bit e non ci posso fare molto purtroppo), fatto sta che non posso fare altro che riavviare visual studio, fare un clean del client (e quindi di 3/4 di soluzione) e re-buildare. Almeno ho la scusa per andare a prendermi un caffe'.
Abbiamo provato a rifare una macchina pulita da zero ma il comportamento non cambia. Magari sono le due estensioni che usiamo (per il version control e il bug tracker) ma sono abbastanza diffuse per cui non sono troppo convinto.

Btw, l'altro ieri invece avevo una situazione in cui veniva lanciata una eccezione durante il caricamento di uno XAML. Un errore in un binding (passavo l'argomento di tipo sbagliato) ma tutto quel che vedevo a video era una schermata totalmente bianca...:mbe:

cdimauro
10-11-2012, 07:22
A me alcune volte è capitata quest'ultima situazione che hai descritto, che è parecchio fastidiosa. Però la cosa strana è che con Expression Blend aprendo lo stesso XAML non mi dava alcun problema.
Evidentemente il meccanismo di rendering e/o gestione degli XAML è diverso fra i due programmi, e francamente non me lo spiego proprio, essendo prodotti dalla stessa casa madre...

Forse potresti risolvere usando Expression Blend in questi casi (come facevo io: sistemavo tutto con Blend, e poi anche se mi dava quei problemi sapevo che il componente in ogni caso funzionava come volevo), ma visto che hai già altri problemi, con un mostro come quello aperto forse avresti ancora più problemi.

A parte questo (che fortunatamente non capitava spesso, altrimenti mi sarei sparato), non ho riscontrato gli altri problemi che hai descritto. Il che non toglie che tu ce li abbia, purtroppo, ma parliamo comunque di configurazioni e programmi un po' diversi (le versioni che usavo io erano ad hoc per Windows Phone).