Vai al contenuto

Common Language Infrastructure

Da Wikipedia, l'enciclopedia libera.

Il Common Language Infrastructure (CLI), in italiano "infrastruttura del linguaggio comune" è una specifica aperta sviluppata da Microsoft, che descrive il codice eseguibile e l'ambiente di esecuzione che costituisce il cuore del framework .NET. La specifica definisce un ambiente che permette a più linguaggi ad alto livello di essere utilizzati su differenti piattaforme senza la necessità di essere riscritti per specifiche architetture.

Il CLI è solo una specifica e non una implementazione, ed è spesso confusa con il Common Language Runtime che contiene caratteristiche non incluse nella specifica.

La specifica CLI è divisa in quattro parti:

  • Il Common Type System o CTS: un insieme di tipi di dato e di operazioni su di essi.
  • I Metadata: le informazioni sulla struttura del programma. Esse sono indipendenti dal linguaggio di partenza per permettere a programmi scritti in linguaggi differenti di comunicare tra loro.
  • La Common Language Specification o CLS.
  • Il Virtual Execution System o VES: il sistema che esegue i programmi CLI.

La compilazione di un programma in linguaggio .NET compatibile viene tradotto in istruzioni di tipo Common Intermediate Language (CIL), un linguaggio intermedio indipendente dalla piattaforma. Per eseguire un programma in linguaggio CIL, un VES specifico per la piattaforma traduce le istruzioni CIL in linguaggio macchina, un linguaggio direttamente comprensibile dal processore della piattaforma, che è così in grado di eseguire le istruzioni.

Standardizzazione e Licenza

Nell'agosto del 2000, Microsoft, Hewlett-Packard, Intel e altri lavorarono per standardizzare il CLI. Nel dicembre del 2001 lo standard fu ratificato dall'ECMA, e nell'aprile del 2003 è diventato uno standard ISO.

Mentre Microsoft e i suoi partner detengono i brevetti per il CLI, sia l'ECMA che l'ISO richiedono che tutti i brevetti essenziali per l'implementazione devono essere disponibili sotto termini "ragionevoli e non discriminatori" (RAND). Le aziende coivolte si sono invece trovate d'accordo di rendere i brevetti disponibili sotto termini liberi da royalties o altrimenti di tipo RAND.

Implementazioni

  • Microsoft .NET è l'implemetazione commerciale della Microsoft, che contiene anche un'ampia collezione di risorse, librerie e strumenti di sviluppo.
  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft