Il recente open sourcing del compilatore C # di MSFT significa che può essere reso multipiattaforma? [chiuso]

1

Mi piace molto lavorare con C #, ma uno dei suoi maggiori inconvenienti è che è una sorta di split-brain tra MSFT .NET e Mono. In pratica non è un grosso problema la maggior parte delle volte, ma è una di quelle cose che fa 'male' il linguaggio. Mi verrebbe molto più utile, sospetto, se si potesse rispondere " Se lo compilo, funzionerà su ogni piattaforma [desktop]? " con " Sì. ". In questo momento è " Sì. Ma prima devi compilare Mono. E alcune aree di codice potrebbero dover essere riscritte un po '. ".

La mia domanda è " Il recente open sourcing del compilatore C # di MSFT significa che può essere reso multipiattaforma? ". Cioè, potrebbe essere fatto C # .NET per funzionare su più piattaforme senza Mono con i nuovi componenti open source? O c'è altro a questo che non vedo?

Un'ulteriore esposizione su cosa potrebbe riservare il futuro per C # alla luce dei componenti open source non è necessaria per rispondere a questa domanda, tuttavia è incoraggiata.

    
posta S.Richmond 10.04.2014 - 01:44
fonte

1 risposta

7

It would get a lot more uptake, I suspect, if one could answer "If I compile it, will it work on every [desktop] platform?" with "Yes.".

Puoi dirlo oggi (o almeno 8 anni fa quando ho provato)

Scherzi a parte. Costruisci alcune semplici dll di jane vanilla C # (davvero, qualsiasi linguaggio .NET) su Windows. Buono. Ora spostalo su una macchina Linux con mono. Indovina un po? Funziona. Nessuna ricompilazione, nessuna compilazione incrociata.

L'intero punto di utilizzo di un linguaggio di interfaccia comune (bytecode) per il runtime è tale che puoi fare proprio questo! Mono non ha in qualche modo creato il proprio codice bytecode per la lingua, loro " solo un'altra implementazione del runtime.

    
risposta data 10.04.2014 - 02:13
fonte

Leggi altre domande sui tag