2009-02-24 29 views
10

Vale la pena imparare C# se sei un utente Linux? C'è Mono, ma sembra destinato a rimanere sempre dietro la curva con la costante minaccia dell'azione della SM se iniziano a perdere denaro.C# su Linux - Qualcuno ha un'opinione basata sull'esperienza usando mono?

Attualmente mi sto appoggiando più verso Java in quanto è completamente GPL e non ci sono grandi minacce di brevetti software. Ha già una grande comunità oss dietro e ha una solida reputazione sul server mentre C# ha ancora bisogno di dimostrarsi lì.

Il grande vantaggio per i programmatori C# è che sono meno costosi rispetto agli sviluppatori Java. Mi chiedo anche come sia il codice C# portatile. Si può semplicemente prendere un'app C# scritta per colpire Mono ed eseguirlo su Windows?

+0

Grande, ho sbagliato a digitare "ortografia" nel mio riepilogo di modifica. =) –

+0

Tutto ciò che è stato chiesto in questa domanda è stato discusso a lungo qui, http://stackoverflow.com/questions/tagged/mono – postfuturist

+1

Non è "meno costoso" * male * per i programmatori? – Ryan

risposta

12

Ho scritto un numero di programmi da riga di comando C#, in particolare per l'esecuzione come motori di simulazione distribuiti, che erano destinati a Ubuntu. Funzionano perfettamente lì o su Windows.

È difficile dire cosa riserva il futuro, ma C# è un linguaggio potente e penso che valga la pena di imparare anche solo per la nostra crescita personale. Io stesso disprezzo Windows, ma sto scrivendo C# per un po '(per Windows in gran parte) dal momento che paga le bollette.

Novell utilizza ampiamente Mono per le proprie applicazioni Linux e penso che la loro relazione con Microsoft aggiunga un po 'di peso all'idea che .NET per Linux resterà in sospeso.

Here's a list di alcune società che utilizzano Mono.

0

Dato il tuo scenario, personalmente io Imparerei Java, poiché troverai la transizione in C# più avanti sulla linea, abbastanza liscia. Anche avere Java sotto la cintura è una cosa molto buona. Direi che Java è molto più portatile di C# anche se hai la possibilità di usare il Compact Framework, che sarà più veloce da avviare con il tuo programma.

2

"sul server, mentre C# deve ancora alla prova se stesso lì"

Sai MySpace è costruito ontop di ASP.NET, giusto? Milioni di colpi al giorno che scappano da un backend C#.

+0

Anche PlentyofFish e fanno tutto su uno o due server. – Echostorm

+2

e, inutile dirlo, Stack Overflow. –

0

Lavoro per un'azienda che utilizza sia Java che C#. Preferisco C# perché penso che Visual Studio salti fuori Eclipse, e mi piace il linguaggio migliore. Tuttavia, penso che potresti migliorare l'apprendimento di Java nel tuo caso. Hai più flessibilità sia per il tuo progetto che per la tua carriera. Puoi imparare C# in qualsiasi momento.

+0

Preferisco Visual Studio su Eclipse - ma preferisco SharpDevelop su Visual Studio. Hai provato prima? –

0

C# è un linguaggio piacevole e trovo molto più semplice lavorare con C/C++, soprattutto per le applicazioni GTK.

Penso anche che l'apprendimento di C# sarebbe un investimento molto migliore rispetto all'apprendimento di Java. Lo dico per nessun altro motivo oltre al mio gusto personale, ma credo anche onestamente e obiettivamente che C# avrà un futuro migliore di Java.

Per quanto riguarda l'esecuzione di app mono su Windows, in genere è possibile farlo senza problemi, ma se si tratta di un'applicazione GUI, sarà necessario creare una versione di Windows che utilizza Winforms, oppure gli utenti dovranno installare GTK per Finestre. In entrambi i casi, le tue applicazioni avranno un aspetto molto migliore delle applicazioni Java su entrambe le piattaforme.

Infine, non penso che M $ intraprenderà un'azione legale contro Mono in qualsiasi momento presto.

2

Scusate la fiamma-esca, ma ho personalmente avuto il successo più portabilità con mono, di Java. Non una dichiarazione generale, solo la mia esperienza.

0

Funziona molto bene. IMHO dovresti usare Mono dal sito di sviluppo (www.go-mono.com) piuttosto che la versione fornita con la tua distribuzione.

Inoltre, è possibile provare a funzionare a secco con la macchina VMWare disponibile anche sul sito ufficiale.

Problemi correlati