Vad är Common Language Runtime?

Common Language Runtime (CLR) ger datorprogrammerare ett ramverk som gör att program kan köras under flera datormiljöer.
CLR är utformad för att vara en fungerande implementering av Microsofts Common Language Infrastructure (CLI). Det är ett av nyckelelementen i Microsofts .NET Framework och förser programmerare med en mellanliggande programmeringskod.

Datorprogram består av en serie maskinkoder som instruerar den centrala bearbetningsenheten (CPU) om vad den ska göra. Listan med instruktioner som en specifik CPU kan förstå kallas dess instruktionsuppsättning. Olika processormodeller har olika instruktionsuppsättningar.

Datorns operativsystem löser de flesta av dessa problem. Operativsystemet arbetar för att abstrahera detaljerna i datorn så att program kan köras på olika typer av datorer. Detaljerna för hur operativsystemet gör detta varierar mellan olika operativsystem.

Det är här Common Language Runtime träder i kraft. Det ger ytterligare ett lager av abstraktion som kan tillåta program att köras på olika operativsystem och datorer. Detta har en dubbel fördel. Det betyder inte bara att program kan köras på olika typer av datorhårdvara, det säkerställer också att applikationsprogrammerare har mer tid att arbeta med funktionerna i sitt program.

Istället för att låta program göras till en serie CPU-specifika instruktioner, tillåter Common Language Infrastructure att program kompileras till en serie instruktioner för en virtuell CPU. Dessa instruktioner används sedan av Common Language Runtime för att köra programmet. Detta gör att alla CPU- och operativsystemspecifika ändringar kan göras i Common Language Runtime snarare än i varje enskilt datorprogram.

Det finns många fördelar med att använda Common Language Runtime. Den mest uppenbara fördelen är att applikationsprogrammerare inte längre behöver oroa sig för att få sina program att köra på varje dator. Dessutom tillåter CLR ett antal prestandaoptimeringar som annars skulle vara otillgängliga för applikationen. Detta gör att program kan köras mycket mer effektivt än vad som annars skulle vara möjligt.
Från och med 2010 var Microsofts Common Language Runtime endast tillgänglig på Windows®-plattformen. Det finns ett antal CLI-implementationer som har skapats av icke-Microsoft-grupper som körs på andra operativsystem. Användningen av CLI tillåter att program skapas som kan köras på vilken dator som helst och vilket operativsystem som helst som stöder det.