Common Language Runtime (CLR)
Die Common Language Runtime (CLR) ist ein Programm, das die Ausführung von Programmen verwaltet, die in verschiedenen unterstützten Sprachen geschrieben wurden, und ihnen die gemeinsame Nutzung von objektorientierten Klassen ermöglicht, die in einer beliebigen Sprache geschrieben wurden.
Die CLR ist Teil des .NET-Framework von Microsoft. Sie ist teilweise mit der Java Virtual Machine (JVM) vergleichbar, die für die Ausführung von Java-Programmen entwickelt wurde. Microsoft bezeichnet CLR als gemanagte Ausführungsumgebung. Ein für die CLR kompiliertes Programm benötigt keine sprachspezifische Ausführungsumgebung und kann auf Systeme mit Windows verschoben und dort ausgeführt werden.
Programmierer, die in Visual Basic, C++ oder C# schreiben, kompilieren ihre Programme in eine Zwischenform des Codes, die Common Intermediate Language (CIL), in einer portablen Ausführungsdatei, die dann von der CLR verwaltet und ausgeführt werden kann.
Der Programmierer und die Umgebung geben bei der Kompilierung beschreibende Informationen über das Programm an, die zusammen mit dem kompilierten Programm als Metadaten gespeichert werden. Die im kompilierten Programm gespeicherten Metadaten teilen der Common Language Runtime mit, welche Sprache verwendet wurde, welche Version sie hat und welche Klassenbibliotheken für das Programm benötigt werden.
Die CLR ermöglicht es einer Instanz einer Klasse, die in einer Sprache geschrieben wurde, eine Methode einer Klasse aufzurufen, die in einer anderen Sprache geschrieben wurde. Außerdem bietet sie Garbage Collecting (Rückgabe von nicht benötigtem Speicher an den Computer), Ausnahmebehandlung und Debugging-Dienste.