Was ist die gemeinsame Sprachinfrastruktur?
Die Common Language Infrastructure (CLI) ist eine Reihe internationaler technischer Standards, die die Interoperabilität von Computerprogrammiersprachen fördern. CLI ermöglicht es auch vielen Hochsprachen, Anwendungen zu entwickeln, die von Plattformen und Architekturen unabhängig sind. Es gibt mehr als 30 Programmiersprachen, die für diesen Zweck gruppiert sind und vier Unterteilungen der Programmierspezifikationen für gemeinsame Sprachen verwenden, um die CLI-Kompatibilität zu gewährleisten.
Die Verwendung eines sogenannten Common Type System (CTS) unter Verwendung einer Reihe von Datentypen und Operationen sowie von Metadateninformationen zu Programmierstrukturen ermöglicht das sprachübergreifende Schreiben von Code. Die CLI kompiliert Sprachen in eine gemeinsame Zwischensprache (Common Intermediate Language, CIL) und übermittelt die Anwendungsaspekte von CIL an die Assembler-Maschinensprache, die die Hardware adressiert. Darüber hinaus gibt es gemeinsame Sprachspezifikationen (CLS), die als Basisregeln für alle Sprachen gelten, die nach Interoperabilität suchen, sowie ein virtuelles Ausführungssystem (VES) zum Laden, Ausführen und Generieren von Ausführungscodes für alle CLI-kompatiblen Programme .
Die meisten CLI-kompatiblen Sprachen werden mithilfe der Common Language Runtime (CLR) direkt in die CIL kompiliert. Nach dem Kompilieren und Zwischenspeichern übernimmt ein Just-in-Time-Compiler den Maschinencode aus der vorhandenen Architektur. Die Codekonstruktion der Montagemaschine kann auch vor der CLR mit einem vorzeitigen Compiler erstellt werden.
Damit CLI-kompatible Sprachen die Objektspezifität nutzen, gibt die Common Language Infrastructure an, dass Objekte beim Aufrufen nur die Funktionen verfügbar machen müssen, die sie mit den anderen CLI-kompatiblen Sprachen gemeinsam haben. Codekomponenten, die nur für die Verwendung von im CTS akzeptierten Datentypen entwickelt wurden, gelten als CLI-kompatibel und sind für alle anderen CLI-kompatiblen Sprachen zugänglich. Darüber hinaus wird jedes Konstrukt einer Sprache, das durch die Typensicherheit des Codes nicht schnell überprüft werden kann, vom CLS ausgeschlossen, sodass nur überprüfbare Codes als CLS-konform eingestuft werden können.
Einige Programmierfunktionen sind sowohl Compilern als auch Entwicklern gemeinsam, andere stehen nur Compilern zur Verfügung. Die Liste ist lang und voller hilfreicher Funktionen. Eine Funktion, die nur Compilern zur Verfügung steht, sind folgende: Schlüsselwörter, die referenzierende Bezeichner bereitstellen und die virtuelle Methoden mit Namen überschreiben können, die Schlüsselwörter sind. Eine Funktion, die sowohl Compilern als auch Entwicklern zur Verfügung steht, umfasst: Modifikatorfunktionen, die besagen, dass eine Eigenschaft und ihre Prüfer alle "statisch", alle "virtuell" und alle "instanz" sein müssen.
Implementierungsprogramme sind für Desktops, Server, Mobilgeräte und Spielekonsolen vorgesehen. Computer Vision Enhancement-Programme und Low-Level-Toolkits für virtuelle Maschinen werden ebenfalls aus gemeinsamen Sprachen entwickelt, die mit der Sprachinfrastruktur kompatibel sind. Die Laufzeiten der gemeinsamen Sprachinfrastruktur weisen Systemressourcen zu und rufen Peripheriegeräte effizient auf, obwohl sie plattformunabhängig sind.