Libro "VB 2010 spiegato a mia nonna" (28)

CLR e Class Library

Come già accennato in precedenza, il Framework .NET è formato da due componenti principali: il Common Language Runtime (CLR) e la Base Class Library (BCL). Vediamoli ora più dettagliatamente.

Il Common Language Runtime (CLR)

Questo componente del Framework .NET è responsabile della fase di esecuzione del programma.

I programmi sono compilati in due fasi (Figura 2.5): in una prima fase, il codice sorgente è compilato in un linguaggio intermedio denominato MSIL (Microsoft Intermediate Language), interpretabile dal CLR.

clip_image002[5]

nella seconda fase, il CLR impacchetta il codice MSIL insieme a quello eventualmente compilato da altri linguaggi e traduce il tutto in linguaggio macchina specifico per la piattaforma in cui è eseguito. Questa traduzione finale è realizzata attraverso un compilatore JIT (Just In Time) specifico per ogni piattaforma e hardware (per esempio, per processore a 32 bit o a 64 bit).

Per motivi di performance, la compilazione JIT avviene solamente per il codice eseguito, di volta in volta, sulla macchina e non per tutto il codice dell’applicazione. una successiva esecuzione dello stesso codice sfrutta il codice già compilato e non richiede, quindi, una nuova compilazione. la doppia compilazione, prima in IL e poi in codice nativo, permette di raggiungere molti obiettivi:

✥ garantisce la portabilità fra diversi sistemi operativi (sebbene questi facciano parte sempre della piattaforma Windows);

✥ permette una ottimizzazione del codice macchina per lo specifico processore. Con il vecchio modello di compilazione, normalmente si compilava per un processore generico, per esempio, un Pentium, senza poter sfruttare le caratteristiche avanzate dei processori più recenti. la compilazione JIT sulla stessa macchina dove viene utilizzata l’applicazione, invece, permette di compilare in codice nativo specifico per il processore utilizzato;

✥ consente l’interoperabilità fra linguaggi diversi, per esempio, la contemporaneità di codice Visual Basic e di codice C#;

✥ supporta molte funzioni di esecuzione, protezione dei dati e gestione della memoria.

In questo modo è possibile eseguire un programma .NET in qualsiasi piattaforma sia presente il Framework .NET, senza alcuna modifica e risparmiando tempo e denaro. la compatibilità tra diversi linguaggi è garantita dall’aderenza di ogni linguaggio al CTS (Common Type System) che è una specifica inclusa nel CLR.

Il codice intermedio prodotto dalla compilazione è in numerosi casi identico o molto simile e pertanto possiamo ritenere che anche le prestazioni siano relativamente indipendenti dal linguaggio utilizzato.

Questo ha un significato molto importante, perché:

✥ compilando porzioni di codice sorgente funzionalmente uguali, scritte in linguaggi diversi (poniamo, per esempio, Visual Basic e C#), si ottiene spesso lo stesso codice intermedio rendendo più semplice la conversione del codice da un linguaggio all’altro;

✥ nella stessa soluzione possiamo inserire classi scritte in linguaggi diversi con la garanzia di una completa interoperabilità delle diverse parti.

Queste caratteristiche del Framework .NET hanno anche un positivo impatto nei team di sviluppo che possono accogliere al loro interno programmatori di diversi linguaggi, senza che ognuno di loro si debba preoccupare di imparare un linguaggio differente. Inoltre è possibile acquistare e utilizzare delle librerie, anche in codice sorgente, prodotte da terze parti senza preoccuparsi di dover tradurre il codice stesso da un linguaggio all’altro.

(…segue…)

Fonte: Cap. 3 – libro “Visual Basic 2010 spiegato a mia nonna”, Edizioni FAG Milano, Autore Mario De Ghetto, 2011, http://bit.ly/NRO6Cn.

About these ads

Pubblicato il 10 agosto 2012, in Programmazione, VB2010SAMN, VS 2010 con tag , , , , . Aggiungi il permalink ai segnalibri. Lascia un commento.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 843 follower

%d blogger cliccano Mi Piace per questo: