Newsgroup: it.comp.os.linux.iniziare
Titolo: Sviluppare in .NET per Linux: commenti ?

Ciao, sono sviluppatore C# e mi piacerebbe rendere le mie app cross 
platform. 
Quali sono i rischi nello sviluppare applicazioni desktop in .NET e farle 
girare con mono ? Rischi di .. denuncia ?
Commenti ?
ps: non consigliatemi java, è troppo lento per quel che faccio..

 ps: non consigliatemi java, è troppo lento per quel che faccio..
E da dove verrebbe fuori questa stupidata di Java lento? Se lo compili è
tanto veloce quanto tutti gli altri linguaggi. Certo che se paragoni un
compilato ad una JVM....
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 ps: non consigliatemi java, è troppo lento per quel che faccio..
Questa e` una balla e lo sai
Enrico

 compilato ad una JVM....
Ciao, intanto grazie per le informazioni. 
Però aihmè, Java è molto piu' lento di .NET e non ha strumenti al pari 
nello sviluppo software !
Netbeans o Eclipse sono meno produttivi rispetto a Visual Studio. Io ci 
ho lavorato con tutti e 3 e se posso, scelgo l'ultimo... 

 compilato ad una JVM....
Occhio che ci potrebbero essere situazioni in cui il compilato potrebbe 
essere piu` lento dell'equivalente in C++ (vedi i benchmark su shootout)
Enrico

 ho lavorato con tutti e 3 e se posso, scelgo l'ultimo...
Personalmente non ho mai usato Visual Studio, ma so che NetBeans e` perfetto 
per le mie esigenze
Enrico

 ps: non consigliatemi java, è troppo lento per quel che faccio..
Non raramente le applicazioni scritte usando java sono pesante e lente, e 
applicazioni similari in .net solo sono meno.
Visto le tue premesse la soluzione mono è una buona soluzione (da testare 
bene e tenendo conto che mono è in continuo sviluppo e che non detto che 
implementi tutte le specifiche .net, specialmente visto la mania di ms di 
introdurre continuamente nuove caratteristiche).

 te interessa
Hai centrato l'obiettivo... non parlo di linguaggio ma parlo di "tool" di 
sviluppo rapido. Netbeans è ottimo (l'ho usato e ogni tanto... ancora), 
però aihmè (ripeto) perde il confronto con visual studio che ha 
"controlli" piu' immediati...
Sarà anche una mia mancanza, ma cerco sempre di focalizzarmi su quel che 
vuole il cliente: la luna, per ieri. 

 applicazioni similari in .net solo sono meno.
Posto che di programmatori coglioni ne e` pieno il mondo, questo e` solo FUD 
(o almeno lo e` dalla versione 1.1 in poi)
Enrico

 vuole il cliente: la luna, per ieri.
Questo non c'entra nulla, se il cliente vuole qualcosa per ieri allora 
nemmeno mi preoccupo delle performance (che, tra l'altro, si ottiene anche 
ottimizzando il codice che si scrive, e non vedendo la velocita` degli 
strumenti correlati) e della portabilita`
Enrico

 Commenti ?
Per esperienza personale ho visto che, per ora, è scrivendo per la 
versione 2.0 del framework che si ha meno problemi di portabilità di 
codice da un SO all'altro...
Personalmente ho risolto, per le interfacce grafiche, con GTK#. Ma non 
sono mai andato oltre ad utility mie e non ho mai approfondito con 
applicazioni di un certo spessore e la portabilità con questa soluzione.
Ciao
-- 
AZ

Enrico 'Henryx' Bianchi wrote:

TU lo consideri un FUD, per quanto riguarda ME non lo è.
Io lo ribadisco, spesso le applicazioni java sono pesanti e lente (è 
evidente che posso solo riferire di quelle che ho provato direttamente).
E la mia sensazione è che a parità di applicazione quelle in .net siano meno 
elefantiache.
E a sensazione la cosa vale anche per le applicazioni fatte girare sotto 
mono.

 evidente che posso solo riferire di quelle che ho provato direttamente).
Quante di queste sono compilate nativamente per la piattaforma, e quante
sono bytecode?


 TU lo consideri un FUD, per quanto riguarda ME non lo è.
Io ribadisco il FUD perche` E` FUD! Prendiamo in esame questo:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=java&lang2=gpp
In tutti i benchmark, a livello di performance, le implementazioni Java sono 
state sempre all'altezza di quelle in C++ (che viene preso come linguaggio 
di riferimento), registrando una al massimo una perdita di prestazioni 
massima di quattro volte. Analizziamo invece la situazione prendendo in 
esame C#/Mono:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=csharp&lang2=gpp
La situazione si fa drammatica, direi, ma per C#. La media e` una perdita di 
prestazioni doppia rispetto alla controparte C++, arrivando addirittura ad 
eseguire un test dieci volte piu` lento di Java. Infine, ecco l'ultimo 
confronto:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=java&lang2=csharp
L'unico confronto su cui riesce a vincere C# e` l'uso della memoria, che in 
media e` a un terzo del corrispondente Java (con una punta di un nono nel 
caso migliore).
Te lo ripeto, dire che Java e` lento e` solo FUD, l'unico modo per rendere 
questa affermazione vera e` disabilitando il JIT, cosa che si fa solo 
esplicitamente e solo per un applicativo per volta
Enrico

 sono bytecode?
Attenzione, *tutte* le applicazioni Java sono bytecode, quello che fa la 
differenza e` l'uso o meno del JIT (abilitato, ovviamente, di default)
Enrico

 Attenzione, *tutte* le applicazioni Java sono bytecode,
Nein. Vedi 
p.es
. gcj che produce (se si vuole) eseguibili compilati
native code.


 native code.
Magari, quello che fa gcj e` creare un binario linkato dinamicamente a 
libgcj, che altri non e` l'interprete Java. E` piu` o meno quello che 
succede utilizzando py2exe o visual basic
Enrico