Vad är en hanterad kod?

”Managed code” är en term skapad av Microsoft® Coproration. Denna term hänvisar till programkod som kräver användning av den virtuella maskinen Common Language Runtime (CLR) för att kunna användas. Termen ”ohanterad kod” används för att referera till programkod som inte kräver denna virtuella maskin.

Common Language Runtime utvecklades i ett försök att tillåta program att köras på en mängd olika datorer och operativsystem utan att kräva några ändringar i programkoden. För att göra detta konverteras datorprogramkod till virtuell maskinbytekod. Denna bytekod tolkas sedan av den virtuella CLR-maskinen och omvandlas till bytekod för den specifika dator som den körs på.

En hanterad kod kan köras på vilken dator som helst som är utrustad med den virtuella CLR-maskinen. Denna höga grad av portabilitet ger den en definitiv fördel jämfört med ohanterad kod. Ohanterad kod kräver att programmerare ändrar programkoden för användning på olika maskiner. Denna process kan inte bara vara långsam, den kan också leda till många applikationsfel.

En annan fördel som en hanterad kod har är dess förbättrade säkerhet. Säkerheten för ett program som gjorts med en ohanterad kod beror till stor del på den implementering som programmerarna gjorde. Användningen av den virtuella CLR-maskinen hjälper till att ta bort en stor del av säkerhetsproblemen från programmerares axlar. Majoriteten av säkerhetsproblem som kan uppstå är direkt centrerade i själva den virtuella maskinen. Detta i sig hjälper till att centralisera problem, vilket gör det mycket snabbare att implementera säkerhetskorrigeringar.

Frågan om huruvida en viss uppsättning kod är hanterad kod eller ohanterad kod är extremt viktig för datorprogrammerare. Hanterad kod har en högre grad av portabilitet, men denna portabilitet kräver att Common Language Runtime är installerad på måldatorn. Ohanterad kod, å andra sidan, kan köras utan tillägg av CLR.

Det finns många fördelar med att använda hanterad kod, men det finns också flera nackdelar. Den primära nackdelen är de omkostnader som användningen av den virtuella CLR-maskinen kräver. Skillnaden mellan hastigheten med vilken hanterad kod körs kontra hastigheten för ohanterad kod är ofta försumbar, men i vissa fall skapar det en mycket märkbar skillnad i applikationens svarstid. Som ett resultat spelar ohanterad kod en avgörande roll i de flesta applikationer som kräver en hög grad av hastighet framför portabilitet.