Rilasciato Mono 2.8 con pieno supporto a C# 4.0

Rilasciato Mono 2.8 con pieno supporto a C# 4.0

E' stata da poco rilasciata la versione 2.8 di Mono. Tra le principali novità il pieno supporto alle specifiche di C# 4.0 ed una più efficiente implementazione del garbage collector

di Fabio Gozzo pubblicata il , alle 10:21 nel canale Programmi
 

Recentemente è stata rilasciata la nuova versione 2.8 di Mono, un progetto avviato nel 2001 da Ximian al fine di rendere disponibile un'implementazione open source della piattaforma di sviluppo .NET di Microsoft.

Alla base del progetto Mono vi è infatti l'intenzione di incentivare lo sviluppo di applicazioni per Linux fornendo agli sviluppatori degli strumenti che consentano loro di poter riutilizzare le proprie conoscenze e buona parte del codice già scritto per Windows senza dover imparare da zero un nuovo linguaggio di programmazione.

Tra le novità più rilevanti presenti in Mono 2.8 si segnala il pieno supporto alle specifiche del linguaggio C# 4.0, significativi miglioramenti in ambito prestazionale, grazie anche alla possibilità di poter utilizzare LLVM per l'esecuzione del codice, ed un nuovo e più efficiente garbage collector.

Mono 2.8 mette inoltre a disposizione anche diverse librerie rilasciate recentemente da Microsoft sotto licenza open source tra cui Dynamic Language Runtime e Managed Extensibility Framework. Un'altra interessante aggiunta è il supporto alla compilazione ahead-of-time (AOT) per piattaforme x86, che offre la possibilità di far convertire il codice intermedio in linguaggio .NET in codice nativo prima dell'esecuzione vera e propria.

Per chi fosse interessato, Mono 2.8 è disponibile per diversi sistemi operativi a questo indirizzo. Per ulteriori dettagli sulle novità introdotte in questa nuova versione del software, vi consigliamo di consultare le note ufficiali di rilascio disponibili qui.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione

29 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
pabloski11 Ottobre 2010, 10:39 #1
imho le due più importanti novità sono "poter utilizzare LLVM per l'esecuzione del codice" e "compilazione ahead-of-time (AOT) per piattaforme x86"

questo vuol dire che in un sol colpo ci si libera di tutti i problemi relativi a licenze e brevetti di ms, che in futuro potrebbe usare per stritolare l'ecosistema open se mono si diffondesse a sufficienza

non sono d'accordo su questo "poter riutilizzare le proprie conoscenze e buona parte del codice già scritto per Windows"....su windows c'è più codice scritto in java che in uno dei linguaggi dot net

insane7411 Ottobre 2010, 10:57 #2
peccato che non ci sono i pacchetti aggiornati per ubuntu (anche la 10.10 rimane alla 2.6.7).
homero11 Ottobre 2010, 11:01 #3

10 anni per uno sviluppo incompleto

10 anni per uno sviluppo incompleto ma chi ha tanto dempo da perdere?
e chi oggi si mette a programmare in .net? a questo punto meglio programmare in python...
Human_Sorrow11 Ottobre 2010, 11:14 #4
Originariamente inviato da: pabloski
....su windows c'è più codice scritto in java che in uno dei linguaggi dot net


Originariamente inviato da: homero
e chi oggi si mette a programmare in .net? a questo punto meglio programmare in python...


Ragazzi, informatevi un po' meglio va là ...
Riccardo8211 Ottobre 2010, 11:19 #5
aggiungo solo una cosa al commento di Human_Sorrow...

...anzi no lasciamo perdere, l'icona che ha messo Human_Sorrow è sufficientemente esaustiva...
insane7411 Ottobre 2010, 11:23 #6
Originariamente inviato da: Human_Sorrow
Ragazzi, informatevi un po' meglio va là ...


Originariamente inviato da: Riccardo82
aggiungo solo una cosa al commento di Human_Sorrow...

...anzi no lasciamo perdere, l'icona che ha messo Human_Sorrow è sufficientemente esaustiva...


tra l'altro basterebbe andare su un sito di ricerca offerte di lavoro e cercare ".NET" e "python" per rendersi conto della situazione attuale (almeno in italia).
Master_T11 Ottobre 2010, 11:31 #7
La cosa che mi manca in Mono è l'implementazione di WPF, senza la quale si perde molto (a meno che non si stia sviluppando qualcosa senza interfaccia), tocca appoggiarsi a GTK# o Qt(Qyoto), che non sono la stessa cosa imho (anche se Qt è la "next best thing" come libreria grafica, però wrappata per l'uso con .NET perde molto). Purtroppo da quel che so non hanno intenzione di implementare WPF, anche perchè sarebbe probabilmente un lavoraccio assurdo...
nico15911 Ottobre 2010, 11:42 #8
Originariamente inviato da: homero
10 anni per uno sviluppo incompleto ma chi ha tanto dempo da perdere?
e chi oggi si mette a programmare in .net? a questo punto meglio programmare in python...

Avvisami quando avranno trovato una soluzione che permetterà di sviluppare sul web con Python 3, dato che ad oggi, a distanza di più di un anno, non è possibile sviluppare per il web usando Python 3
O per lo meno che sia usabile per qualcosa di complesso, dato che i moduli non ci sono

Oppure quando avranno un compilatore JIT dentro CPython
Oppure quando avranno il supporto per operazioni asincrone nella libreria standard e sarà standardizzato, e non bisognerà scegliere tra Twisted, Kamelia, Torndado, Circuit, Eventlet, GEvent...ovviamente ognuno richiede che i moduli da usare insieme siano appositi! Eh altrimenti blocchi l'esecuzione. Un modulo per Mysql per Twisted apposita, un altro per Tornado, un altro per Eventlet
Oppure quando sarà possibile aggiornare Python su Linux senza che che incarti tutto
Oppure quando avranno rimosso il GIL, che non permette di scrivere software che esegue operazioni in parallelo su CPython. E non solo! Se usi i threads su un server multicore, le prestazioni peggiorano e di molto. Multiprocessing? Ma se .Net offre le Parallel Extensions
Oppure quando...

Tornando IT
Sono contento di questo rilascio, i miei complimenti alle capaci persone dietro Mono
Le novità per me più importanti oltre al supporto C# 4.0, sono: il nuovo garbage collector e le Parallel Extensions
jappilas11 Ottobre 2010, 12:20 #9
una più efficiente implementazione del garbage collector

non è solo una questione di efficienza, si tratta proprio di risolvere un problema dell' attuale garbage collector, prono a frammentazione della heap

da http://www.mono-project.com/FAQ:_ASP.NET
Mono currently uses a conservative, non-moving, non-compacting garbage collector. This means that the heap is not compacted when memory is released. This means that applications can produce memory allocation patterns that will effectively make the process grow, just like C, C++, Perl, Python applications would.
It is hence important to not get into patterns that would create these holes, for example such a hole could be created if you create a block of size SIZE, release it, and then create two blocks of size SIZE/2+1.

ora, un garbage collector che nella mia applicazione ASP.NET (per la quale sarà presumibilmente normale a runtime creare continuamente sessioni, oggetti, ... ) mi porti ad avere una situazione del genere (sostanzialmente un memory leak ) e mi imponga di rivedere i miei pattern di utilizzo della memoria stessa per poterla far girare su una piattaforma diversa dal runtime .net microsoft (il cui garbage collector non dà questo problema) può in effetti fare la differenza tra il potere vs il non poter usare Mono ...
insane7411 Ottobre 2010, 12:24 #10
Originariamente inviato da: nico159
Avvisami quando avranno trovato una soluzione che permetterà di sviluppare sul web con Python 3, dato che ad oggi, a distanza di più di un anno, non è possibile sviluppare per il web usando Python 3
O per lo meno che sia usabile per qualcosa di complesso, dato che i moduli non ci sono

Oppure quando avranno un compilatore JIT dentro CPython
Oppure quando avranno il supporto per operazioni asincrone nella libreria standard e sarà standardizzato, e non bisognerà scegliere tra Twisted, Kamelia, Torndado, Circuit, Eventlet, GEvent...ovviamente ognuno richiede che i moduli da usare insieme siano appositi! Eh altrimenti blocchi l'esecuzione. Un modulo per Mysql per Twisted apposita, un altro per Tornado, un altro per Eventlet
Oppure quando sarà possibile aggiornare Python su Linux senza che che incarti tutto
Oppure quando avranno rimosso il GIL, che non permette di scrivere software che esegue operazioni in parallelo su CPython. E non solo! Se usi i threads su un server multicore, le prestazioni peggiorano e di molto. Multiprocessing? Ma se .Net offre le Parallel Extensions
Oppure quando...

Tornando IT
Sono contento di questo rilascio, i miei complimenti alle capaci persone dietro Mono
Le novità per me più importanti oltre al supporto C# 4.0, sono: il nuovo garbage collector e le Parallel Extensions


tra l'altro quando guardo i test di questa pagina http://shootout.alioth.debian.org/u...p;lang2=python3 mi vien sempre da ridere...
python3 194 volte più lento di mono...

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^