Il Framework .NET

Quando ho parlato del progetto Mono, non tutti hanno capito di cosa si stava parlando con esattezza, quindi dedico un thread a spiegare cos’è il Microsoft Framework .NET, che Mono mira a reimplementare utilizzando codice libero.

Il Framework .NET è l’ambiente di creazione, distribuzione ed esecuzione software della piattaforma di sviluppo .NET di Microsoft. è composto da:
1) I compilatori per i linguaggi supportati da Microsoft (Visual Basic, C#, ecc)
2) Ambiente di esecuzione (Common Language Runtime, CLR)
3) Librerie

I programmi scritti con linguaggi .NET vengono compilati in un linguaggio intermedio, simile al bytecode di Java, chiamato Common Intermediate Language, che per essere eseguito, deve girare su una Macchina Virtuale (il CLR) come avviene in Java. La differenza con Java è che la JVM interpreta il bytecode, mentre in .NET prima dell’esecuzione avviene una compilazione in linguaggio macchina, con notevole incremento delle prestazioni. Tale compilazione è detta Just-In-Time. Inoltre dal punto di vista dell”utente finale non cambia nulla rispetto al passato, poiché vede i programmi esattamente come una volta, cioè un eseguibile .EXE su cui fare il doppio click! Il Framework si integra nel sistema operativo e agisce in modo trasparente.
La piattaforma .NET è destinata ad essere in futuro l’unica piattaforma di sviluppo per i sistemi Microsoft, in sostituzione della vecchia COM. Molti linguaggi di terze parti (come ad esempio Delphi) si sono già adattati a basare i propri programmi su .NET

Non so bene il perché di tutto ciò, che da a molti l’impressione di essere una copia di Java! Qualcuno non è entusiasta delle prestazioni dei programmi .NET ed altri non sono stati felici di dover studiare da capo il Visual Basic che rispetto alla Versione 6 è stato modificato per adattarsi alla nuova piattaforma. Tuttavia ci sono anche dei vantaggi. Uno di questi è il fatto che tutti i linguaggi condividono la ricca libreria di classi messa a disposizione dal Framework, rendendo più semplice la migrazione dall’uno all’altro secondo i vantaggi di quello scelto. Inoltre il fatto di essere compilato in un linguaggio intermedio, cosa comune con Java e Python, rende i programmi eseguibili su piattaforme completamente diverse, a patto che esistano le relative macchine virtuali. Questo vantaggio è poco visibile, dato che gli utenti medi vedono Windows solo su processori delle famiglie x86 e x64, tuttavia esiste il Framework .NET anche per FreeBSD e implementazioni libere come Mono o DotGNU possono essere affiancate a progetti come Wine per eseguire ovunque applicazioni scritte per Windows. Ancora, diventa possibile portare le applicazioni dal PC ad altri dispositivi come PDA o XBox senza doverle ricompilare.

Sull’argomento ci sarebbe da parlare per giorni, quindi non mi dilungo oltre.. Se posso soddisfare qualche curiosità, sono qui.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *