CLR (Common Language Runtime)



Microsoft’i .NET platvormi käituskeskkond, mis täidab Microsoft’i vahekeelde MSIL (Microsoft Intermediate Language) transleeritud programme. CLR sisaldab sünkroonkompilaatorit, mis kompileerib MSIL-keelse programmi masinakeelde ja siis käitab seda. CLR kujutab endast .NET Framework’i tähtsaimat osa ning sisaldab ka andmetüüpide põhikomplekti CTS (Common Type System). Viimase alamhulk CLS (Common Language Specification) on samuti defineeritud selliselt, et ühes CLR-keeles kirjutatud programm kindlasti suhtleb teistes CLR-keeltes kirjutatud programmidega.

CLR sarnaneb funktsionaalsuselt Java virtuaalmasinale JVM. Mõlemad kujutavad endast käituskeskkondi, mis tagavad fundamentaalsed teenused kõigile programmidele. Erinevus seisneb selles, et Java baitkoodi saab nii interpreteerida kui kompileerida ning see on ainus keel, mida Java virtuaalmasin suudab käitada. CLR käitab MSIL-keelset koodi, mis tekitatakse mistahes .NET programmikeelest (näit. VB.NET ja C#).

Kuna kõik programmid kasutavad CLR’is ühiseid teenuseid sõltumata sellest, mis keeles nad on kirjutatud, siis öeldakse, et nad kasutavad "hallatud koodi"