Qual è l'infrastruttura linguistica comune?
L'infrastruttura linguistica comune (CLI) è un insieme di standard tecnici internazionali che promuovono l'interoperabilità del linguaggio di programmazione informatica. La CLI consente inoltre a molte lingue di alto livello di sviluppare applicazioni indipendenti da piattaforme e architetture. Esistono più di 30 linguaggi di programmazione raggruppati a questo scopo e utilizzano quattro divisioni di specifiche di programmazione del linguaggio comune per diventare conformi alla CLI.
Utilizzando quello che viene chiamato un sistema di tipo comune (CTS), utilizzando un insieme di tipi di dati e operazioni e informazioni sui metadati sulle strutture di programmazione consente la scrittura di codici incrociati. La CLI compila le lingue in un linguaggio intermedio comune (CIL) e da CIL comunica gli aspetti dell'applicazione al linguaggio della macchina assembly, che affronta l'hardware. Inoltre, esistono specifiche del linguaggio comune (CLS), che sono una regola di base impostata per l'uso da qualsiasi lingua in cerca di interoperazione e un sistema di esecuzione virtuale (VES) per il caricoing, esecuzione e generazione di codici di esecuzione per tutti i programmi conformi al cli.
La maggior parte dei linguaggi conformi al Cli si compila direttamente al CIL mediante l'uso del common Language Runtime (CLR). Dopo essere stato compilato e memorizzato nella cache, un compilatore just-in-time si appropria del codice della macchina dall'architettura esistente. La costruzione del codice della macchina di assemblaggio può anche essere costruita prima del CLR con un compilatore in anticipo.
Per i linguaggi conformi al Cli per sfruttare la specificità degli oggetti, l'infrastruttura linguistica comune specifica che gli oggetti devono solo esporre le caratteristiche che dispongono in comune con le altre lingue conformi al CLI quando vengono chiamati. Si dice che i componenti del codice sviluppati per utilizzare solo i tipi di dati accettati nel CTS siano conformi alla CLI e accessibili a tutte le altre lingue conformi al CLI. Inoltre, qualsiasi costrutto di un linguaggio che non può essere verificato rapidamente dalla sicurezza del tipo diIl codice è escluso dal CLS, in modo che solo i codici verificabili possano essere conformi al CLS.
Alcune caratteristiche di programmazione sono comuni sia per i compilatori che per gli sviluppatori e altre sono disponibili solo per i compilatori. L'elenco è lungo e pieno di funzionalità utili. Una funzionalità disponibile solo per i compilatori è: parole chiave che forniscono identificatori di riferimento e che possono sovrascrivere metodi virtuali con nomi che sono parole chiave. Una funzionalità disponibile sia per i compilatori che per gli sviluppatori include: le caratteristiche del modificatore che affermano che una proprietà e i suoi valutatori devono essere tutti "statici", devono essere tutti "virtuali", devono essere tutti "istanza".
I programmi di implementazione sono per desktop, server, dispositivi mobili e console di gioco. I programmi di potenziamento della visione informatica e le machine toolkit virtuali di basso livello sono anche sviluppati da linguaggi comuni di infrastruttura linguistica. L'infrastruttura linguistica comune gestisce le risorse del sistema e chiama i dispositivi periferici in modo efficiente, sebbene lo sianopiattaforma indipendente.