Newsgroup: it.comp.os.linux.development
Titolo: Abitutato a Visual Studio e C#...

...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?
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

 librerie grafiche, eccetera?
[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.

 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

 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 ...


 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

 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.

resta su windows.

 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 ...


 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

 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

 
usi vi o emacs col mode c#, e fatti task di ant per compilare.

 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

Enrico 'Henryx' Bianchi ha scritto:

No verissimo il problema del runtime persiste, comunque alcuni toolkit
multipiattaforma possono essere compilati staticamente (parlo lato
C/C++) anche se tendono in quel caso a produrre eseguibili di un certo
peso anche con accorgimenti particolari tipo upx si risolve.
Certo se dovessi fare una form con un pulsante e un bottone
multipiattaforma programmando in C++ potresti comunque utilizzare fltk
che statico mi sembra aumenti le dimensioni dell'eseguibile di un
centocinquanta k. Probabilmente avresti il tutto in 2-300k, e alla fine
potresti comunque utilizzare un gui builder (in questo caso fluid anche
se ovviamente ce ne corre col visual studio), altrimenti anche wxwdigets
compilate statiche e upx stai in poche centinaia di k.
Comunque io non ho nulla contro C#`ne Visual Studio ci mancherebbe,
semplicemente il post mi sembrava qualcosa della serie: "vs e c# un
sacco bello, programmare su linux trooppoo pacco" e ho risposto a tono.
micheg

 resta su windows.
<flame>
Perch�, Visual Studio non funziona sotto mono?
</flame>
Alessandro.

qt + qtwebkit
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.