Al momento, apro VS.NET, metto un pulsante sul form, clicko due volte e
scrivo il codice che dev'essere eseguito al click sul pulsante stesso,
in un linguaggio (il C#) serio, semplice ed intuitivo, con un ambiente
che fa da ottimo assistente, anche in fase di debugging, e senza
preoccuparmi di librerie grafiche e altre menate (ok, � anche vero che
poi resto legato alla piattaforma MS: per questo ho aperto il thread).
Ho scaricato Eclipse e Netbeans che sembrano i progetti pi� validi (e
promettenti per il futuro). Ho visto che esiste Visual Editor per
Eclipse, ora lo scarico e lo provo, ma non mi faccio illusioni.
Leggevo di Swing e di SWT. Come per ogni guerra di religione (che sia
Emacs vs Vi, Windows vs Linux, Eclipse vs Netbeans, o altre), chi non li
ha gi� testati entrambi direttamente non sa su quale dei due puntare.
Gi� il fatto di dover sviluppare utilizzando un IDE che necessita della
JVM per essere eseguito mi sconforta alquanto (va be', � una mia
idiosincrasia, in fondo non ho niente contro il linguaggio Java in s�),
se poi si aggiungono tante altre questioni, capirete che la mia
nostalgia per la rapidit� di svilippo VS+C# torna a farsi sentire. :-)
Ditemi che esistono alternative a quel duo anche in Linux, vi prego. ;-)
Saluti, Tristan
ps. e non citatemi MonoDevelop, per cortesia: l'ho provato. :-D
[IMVHO]
QtDesigner con Qt o PyQt ... e impara il Python che ne
vale veramente la pena ;-)
[/IMVHO]
--
Never try to teach a pig to sing.
It wastes your time and annoys the pig.
> QtDesigner con Qt o PyQt ...
Provai eoni fa ad usare le Qt, diciamo ai tempi in cui nacquero le GTK+
e anch'io passai da KDE a Gnome, ed � da allora che abbandonai lo
sviluppo sotto Linux perch� le cose erano ancora troppo incerte. :-)
Rimane solo un problema: sono un programmatore "lazy" :-D, appena vedo
codice poco intuitivo ne rifuggo, ed � per questo che uso il C#, perch�
lo trovo pi� pulito e semplice rispetto al (Visual) C++, mantenendo per�
le stesse potenzialit�. Mi sa che per le Qt dovrei (tornare ad)
utilizzare la sintassi simil-Visual C++, giusto? :(
> e impara il Python che ne vale veramente la pena ;-)
Adoro il Perl (lo so che questo contraddice abbastanza l'affermazione di
prima sull'intuitivit� del codice, haha) e sono sempre stato attratto da
Python, ma non ho mai trovato offerte di lavoro nella mia zona per
questi due (e altri) linguaggi, e quindi li ho messi un po' da parte. :(
Comunque prima o poi credo approfondir� Python, � rarissimo trovare chi
lo ha usato e ne parla male, e questo qualcosa pur vorr� dire. ;-)
Ciao e grazie, Tristan
le cose sono un po' cambiate adesso ;-)
> Rimane solo un problema: sono un programmatore "lazy" :-D, appena vedo
> codice poco intuitivo ne rifuggo, ed � per questo che uso il C#, perch�
> lo trovo pi� pulito e semplice rispetto al (Visual) C++, mantenendo per�
> le stesse potenzialit�. Mi sa che per le Qt dovrei (tornare ad)
> utilizzare la sintassi simil-Visual C++, giusto? :(
ti dico solo che io non sono assolutamente un "mostro" in C++ ... per
motivi lavorativi ho fatto il salto da C a Python direttamente, e il
C++ l'ho studiato personalmente a livello di pura conoscenza ...
cosi' facendo, ho coperto il basso e l'alto livello nel modo piu'
"comodo" e completo possibile ...
ma mettere mano alle Qt non e' stato per niente complicato ...
fossi in te una prova la farei ... puoi fare tutto via QtDesigner
oppure, come preferisco io, sia in C++ che in Python, farti la
parte "rognosa" del layout, delle stacked & co. con QtDesigner
e poi lavorare a mano sul codice ... il passaggio e'
semplicissimo ...
> Adoro il Perl (lo so che questo contraddice abbastanza l'affermazione di
> prima sull'intuitivit� del codice, haha) e sono sempre stato attratto da
> Python, ma non ho mai trovato offerte di lavoro nella mia zona per
> questi due (e altri) linguaggi, e quindi li ho messi un po' da parte. :(
questo e' vero ... ma se ti trovi a partire da 0 con un progetto qualsiasi,
farlo in python ti toglie un sacco di rogne di tempo e di fatica e di successivi
eventuali ritocchi del codice ...
sara' per mia ignoranza in altri linguaggi, ma e' l'unico linguaggio in
cui riesco facilmente a riutilizzare librerie, semplici ma veramente
universali ...
io in python faccio dalle web application (mod_wsgi + pylons) agli
script di sistema (freebsd e linux) ad applicazioni di rete
(Twisted) a applicazioni standalone (PyQt+sqlite) ...
e' c'e' una marea di librerie .... dai reporting pdf/grafici
a quelle a basso livello a quelle matematiche ...
> Comunque prima o poi credo approfondir� Python, � rarissimo trovare chi
> lo ha usato e ne parla male, e questo qualcosa pur vorr� dire. ;-)
esattamente ;-) prima o poi, dacci un occhiata ... passato lo "scoglio"
della identazione, della mancanza di {} e ; il resto viene facile ...
ciao ...
> le cose sono un po' cambiate adesso ;-)
Ho preso il pacchetto Qt SDK. Ha installato l'impossibile (circa 1GB),
ma QtCreator sembra davvero fatto come Krishna comanda. :-) Purtroppo la
prima cosa che vedo mancare � un assistente che aggiunga il codice per
l'handling degli eventi per i widget. Ci sono questi "slot", ma ad es.
per un Button ce ne sono solo 4 (clicked, pressed, released e toggled).
Se voglio scatenare un evento quando il mouse passa sopra il pulsante,
mi sa che devo scrivere a manina il codice. :(
> ma mettere mano alle Qt non e' stato per niente complicato ...
In realt� non si tratta di complicato.
Si tratta anzitutto di velocizzare le cose e di avere un ambiente che ti
evita di scrivere codice comune a tutte le applicazioni: nel momento in
cui io, che mi avvicino per la prima volta all'IDE WYSIWYG, devo leggere
la documentazione anche solo per aggiungere un evento come quello di cui
sopra, l'ambiente visuale ha "fallito" il suo scopo. Per il resto, cio�
per il codice necessario alla singola applicazione che sto sviluppando,
cio� ad es. per il codice contenuto nel corpo dell'evento stesso, �
chiaro che ho bisogno di leggere la documentazione: questo neanche VS e
il C# lo evitano al programmatore. Il pulsante "crea la mia app." ancora
non l'hanno reso visibile. ;-)
> fossi in te una prova la farei ... puoi fare tutto via QtDesigner
> oppure, come preferisco io, sia in C++ che in Python, farti la
> parte "rognosa" del layout, delle stacked & co. con QtDesigner
> e poi lavorare a mano sul codice ... il passaggio e' semplicissimo ...
Tu parli di QtDesigner. Cosa ha oltre QtCreator?
Hai da segnalarmi un qualche tutorial per lavorare come lavori tu?
> esattamente ;-) prima o poi, dacci un occhiata ... passato lo "scoglio"
> della identazione, della mancanza di {} e ; il resto viene facile ...
scoglio? per me � la parte facile e forse pi� attraente, dato che mi
evita di scrivere caratteri e io sono sempre parco su ci�. :-))
Python � semplice, se per assurdo VS lo supportasse, il C# per me
diverrebbe un ricordo: vedr� comunque di approfondirlo.
Ciao e grazie dei consigli.
Saluti, Tristan
> Ho preso il pacchetto Qt SDK. Ha installato l'impossibile (circa 1GB),
> ma QtCreator sembra davvero fatto come Krishna comanda. :-) Purtroppo la
> prima cosa che vedo mancare è un assistente che aggiunga il codice per
> l'handling degli eventi per i widget. Ci sono questi "slot", ma ad es.
> per un Button ce ne sono solo 4 (clicked, pressed, released e toggled).
A me personalmente non piace il meccanismo di signal/slot di Qt
(preferisco Gtk), ma faresti meglio a leggere la documentazione, invece di
contare troppo sull'IDE. Tra l'altro quella di Qt e` riconosciuta come una
delle migliori in circolazione.
Il Button eredita da Widget e Object, e Object ha esattamente la gestione
degli eventi che serve a te (enter, leave, ma anche drag, drop, ecc.)
In Linux siamo abituati ad affidarci piu` alla documentazione, per questo
gli IDE con GUI builder integrato non hanno preso molto piede, e si tende
a separare la costruzione della GUI (QtDesigner, Glade, GtkBuilder) dal
codice (GEdit, Anjuta, KDevelop, ...)
Bye.
mai usato QtCreator ... non mi piace programmare in quel modo ...
per il resto, tieni aperto nel browser http://doc.trolltech.com/ ...
c'e' tutto ...
> Tu parli di QtDesigner. Cosa ha oltre QtCreator?
> Hai da segnalarmi un qualche tutorial per lavorare come lavori tu?
io di solito mi faccio delle pagine man in cui riepilogo le
principali cose che mi servono, e che puntualmente dimentico ;-))
se vuoi, le puoi scaricare da
http://www.maiuebsait.it/PagineMan
ti avverto ... non sono esaustive, ma sono esclusivamente per
uso "personale", pero' puoi farti un idea di quello che sto dicendo ...
tieni conto che ho un eta', e che non riesco ad avere a che fare
con le IDE, quindi ...
> scoglio? per me � la parte facile e forse pi� attraente, dato che mi
> evita di scrivere caratteri e io sono sempre parco su ci�. :-))
esattamente ;-) con le list comprehension, lambda, filter, map ecc
in una riga fai quello che in un altro linguaggio fai in 5/10 righe ...
saluti ...
> Al momento, apro VS.NET, metto un pulsante sul form, clicko due volte e
> scrivo il codice che dev'essere eseguito al click sul pulsante stesso
Non so MonoDevelop (non ho mai usato C#), ma se vuoi un approccio simile
installati Lazarus e impara il Pascal/Object Pascal
Enrico
> ed è da allora che abbandonai lo
> sviluppo sotto Linux perché le cose erano ancora troppo incerte. :-)
Definisci incerte. Usare Gtk o Qt non significa "il mio applicativo non
funziona sull'ambiente X perche` non ci sono le librerie Y" ma "il mio
applicativo ha bisogno delle librerie Y per funzionare". Un esempio? Il
client news che sto utilizzando adesso e` stato scritto con le Gtk,
mentre l'intero ambiente su cui gira utilizza le Qt (uso KDE4)
> Mi sa che per le Qt dovrei (tornare ad)
> utilizzare la sintassi simil-Visual C++, giusto? :(
Dipende da come usi le Qt. I nomi dei metodi sono identici in tutti i
linguaggi (o almeno in quelli che ho visto io), mentre il loro utilizzo
dipende da linguaggio a linguaggio. Comunque, giusto per par condicio,
nessuno ti vieta di usare Gtk + Glade + $linguaggio per ottenere gli
stessi risultati
> Adoro il Perl (lo so che questo contraddice abbastanza l'affermazione di
> prima sull'intuitività del codice, haha) e sono sempre stato attratto da
> Python, ma non ho mai trovato offerte di lavoro nella mia zona per
> questi due (e altri) linguaggi, e quindi li ho messi un po' da parte. :(
Questo non significa nulla. Un linguaggio di programmazione e` uno
strumento. Se il tuo problema e` dato dal fatto che non vi sono
richieste di lavoro per quel linguaggio allora o ti sposti in un'altra
zona, o ti crei la tua nicchia di lavoro (a molte persone non
interessa che linguaggio di programmazione adoperi), o utilizzi una
piattaforma che sia estendibile con il linguaggio che ti interessa
(e.g. Python puo` essere utilizzato su piattaforma Java tramite Jython
oppure su piattaforma .NET/Mono tramite IronPython)
> Comunque prima o poi credo approfondirò Python, è rarissimo trovare chi
> lo ha usato e ne parla male, e questo qualcosa pur vorrà dire. ;-)
Personalmente sviluppo in Java per lavoro e uso Python + PyGTK/PyQT per
lavori personali e devo dire che non mi trovo affatto male. Ah, il mio
client news e` sviluppato in Python :)
Enrico
Tristan ha scritto:
> ...uno sviluppatore che (1) volesse sviluppare applicazioni desktop
> anche sotto Linux, (2) non ama dover scrivere codice per l'interfaccia
> grafica, (3) in generale non ama dover scrivere codice non intuitivo,
> (4) adorerebbe sviluppare programmi multipiattaforma, (5) detesta la
> lentezza di Java e (6) in generale non ama le soluzioni basate su
> linguaggi meno diffusi come Python, Perl, eccetera, cosa dovrebbe usare
> secondo voi come ambiente si sviluppo, linguaggio di programmazione,
> librerie grafiche, eccetera?
>
1) fondamentalmente GTK e QT, menzione d'onore a wxwidgets che si
appoggia sul framework nativo (exempio cocoa su osx, mfc su windows, gtk
su linux) che ha una programmazione in stile mfc con event table, e
oggetti simili ma se hai sempre usato un ide per fare un iterfaccia
grafica non credo ti piacer� molto.
2) io non amo le interfacce usa e getta che fa l'ide (con l'unica
eccezione di xcode dove l'interfaccia � un oggetto deserializzato a
runtime);
3) su questo concordo.
4) su questo pure
5) la lentezza di java � un finto mito, le interfacce grafiche al limite
sono leggermente meno reattive se usi swing ma il vantaggio � ampiamente
compensato da tutti i controlli multipiattaforma avanzati che questa
piattaforma ti mette a disposizione; per il resto hai un jit come C# con
l'unica differenza che java non tiene un global assembly cache quindi i
tempi di startup sono leggerissimamente pi� alti.
6) Secondo l'indice di tiobe sulla diffusione dei linguaggi di
programmazione:
1 Java 18.718% -2.23% A
2 C 16.891% +1.33% A
3 PHP 10.390% +1.78% A
4 C++ 9.911% -1.04% A
5 VB 8.729% -1.08% A
6 C# 4.433% +0.67% A
7 Python 3.914% -0.65% A
8 Perl 3.776% -0.64% A
9 JS 3.033% +0.36% A
10 Ruby 2.458% -0.40% A
Quindi direi che C# � poco diffuso tanto quanto perl e python che te
disprezzi.
> Al momento, apro VS.NET, metto un pulsante sul form, clicko due volte e
> scrivo il codice che dev'essere eseguito al click sul pulsante stesso,
> in un linguaggio (il C#) serio, semplice ed intuitivo, con un ambiente
> che fa da ottimo assistente, anche in fase di debugging, e senza
> preoccuparmi di librerie grafiche e altre menate (ok, � anche vero che
> poi resto legato alla piattaforma MS: per questo ho aperto il thread).
>
E obblighi se uno ad esempio ha xp scusso scusso a scaricarsi il .net
framework runtime per una applicazione che � un bottone e una textbox.
> Ho scaricato Eclipse e Netbeans che sembrano i progetti pi� validi (e
> promettenti per il futuro). Ho visto che esiste Visual Editor per
> Eclipse, ora lo scarico e lo provo, ma non mi faccio illusioni.
>
> Leggevo di Swing e di SWT. Come per ogni guerra di religione (che sia
> Emacs vs Vi, Windows vs Linux, Eclipse vs Netbeans, o altre), chi non li
> ha gi� testati entrambi direttamente non sa su quale dei due puntare.
>
Sono due scelte non due guerre.
> Gi� il fatto di dover sviluppare utilizzando un IDE che necessita della
> JVM per essere eseguito mi sconforta alquanto (va be', � una mia
> idiosincrasia, in fondo non ho niente contro il linguaggio Java in s�),
> se poi si aggiungono tante altre questioni, capirete che la mia
> nostalgia per la rapidit� di svilippo VS+C# torna a farsi sentire. :-)
>
Invece Visualstudio � leggero...
> Ditemi che esistono alternative a quel duo anche in Linux, vi prego. ;-)
>
> Saluti, Tristan
>
> ps. e non citatemi MonoDevelop, per cortesia: l'ho provato. :-D
>
usi vi o emacs col mode c#, e fatti task di ant per compilare.
> E obblighi se uno ad esempio ha xp scusso scusso a scaricarsi il .net
> framework runtime per una applicazione che è un bottone e una textbox.
Non e` che con Python, con Java o con Perl vada meglio eh. E nemmeno con
un'applicazione nativa, in quanto la parte multipiattaforma (e.g, le Qt)
devi installarla su ogni ambiente. L'unica modo per evitare questa
situazione e` utilizzando determinati accorgimenti che ti permettono di
distribuire la tua applicazione con tutto il necessario (e.g. py2exe per
Python), ma anche questo ha i suoi pro ed i suoi contro
Enrico
micheg
<flame>
Perch�, Visual Studio non funziona sotto mono?
</flame>
Alessandro.
tutta l'interfaccia e' scritta in HTML/Javascript.
Qtwebkit permette lo scambio di informazioni tra il codice
javascript e il c++.
E' possibile inserire componenti scritti in qt dentro la pagina.
E' una soluzione che sto usando ora, mi sembra molto valida.
d.