.NET Framework
Common Language Infrastructure (CLI)
Die Common Language Infrastructure (CLI) ist ein offener und international zertifizierter Standard (ISO und ECMA), der ein System beschreibt, welches sprach- und plattformunabhängige Anwendungsentwicklung und -Ausführung ermöglicht.
Die primäre Idee ist, Programme zu entwickeln, die in zwar in verschiedenen höheren Sprachen (z. B. C#, VB.NET, C++/CLI) entwickelt werden, aber doch untereinander ohne Probleme interagieren können.
Zusätzlich werden die Programme unabhängig vom Zielsystem nur einmal erstellt und können dann aber dennoch auf verschiedenen Plattformen eingesetzt werden (solange diese die zugehörige Implementierung des Common Language Infrastructure (CLI) Standards unterstützen).
Die Common Language Infrastructure (CLI) ist ein Standard, dessen Zertifizierung primär von Microsoft unterstützt wurde und keine Implementierung.
Bekannte Implementierungen sind z. B. das Micrsoft .NET Framework oder das Open-Source Projekt Mono.
Wesentliche Spezifikationen der Common Language Infrastructure (CLI) umfassen:
- Common Type System (CTS): Beschreibt alle unterstützte Typen und Operatoren.
- Common Language Specification (CLS): Beschreibt eine Untermenge des CTS und weitere Bedingungen, welche von jeder CLI Programmiersprache erfüllt werden müssen, um das problemlose Interagieren von CLI Programmen zu gewährleisten (insofern diese CLS compliant entwickelt wurden).
- Standard Libraries (beim .NET Framework ->Framework Class Library (FCL)): Beschreibt eine umfangreiche Klassenbibliothek (bzw. Bibliotheken) die von jeder CLI Implementierung zur Verfügung gestellt werden muss (und die CLS compliant ist, so dass diese allen (zur CLI Implementierung zugehörigen) CLI Programmiersprachen zur Verfügung steht).
- Virtual Execution System (VES) (beim .NET Framework -> Common Language Runtime (CLR)): Beschreibt die Laufzeitumgebung und deren Aufgaben, in denen zugehörige CLI Programme geladen, kompiliert und gehosted werden.
- Common Intermediate Language (CIL): Beschreibt die Sprache, in die Programme aller CLI Programmiersprachen vorkompiliert werden, bevor sie von dem VES geladen, kompiliert und gehosted werden.
Die Spezifikation der Common Language Infrastructure (CLI) steht öffentlich zur Verfügung: