Common Language Runtime

De Common Language Runtime (CLR) is de virtuele machine van het Microsoft .NET-project. De CLR is gebaseerd op de Common Language Infrastructure-standaard (CLI-standaard), die een uitvoeringsomgeving voor programmacode beschrijft. De CLR draait een vorm van bytecode genaamd Microsoft Intermediate Language (MSIL), Microsofts implementatie van de Common Intermediate Language (CIL).
Ontwikkelaars die CLR gebruiken schrijven hun code in een zogenaamd hogere programmeertaal zoals C#, Scala of VB.NET. Tijdens het compileren zorgt een .NET-compiler ervoor dat de broncode wordt omgezet naar MSIL, die tijdens het uitvoeren door de just in time compiler van de CLR wordt gecompileerd naar code die uitgevoerd kan worden op het systeem waar de CLR op dat moment op draait.
Dit zorgt ervoor dat applicaties niet hardware afhankelijk zijn en dus op elk willekeurig systeem kunnen worden uitgevoerd, zolang er een CLR voor is. Door dit proces zijn applicaties wel (iets) trager omdat ze tijdens het uitvoeren gecompileerd worden. Een alternatief hiervoor is dat het compileren van MSIL-code naar machine-specifieke code vooraf wordt gedaan. Logischerwijs is hiermee de portabiliteit van de applicatie voor een groot deel verdwenen.
Hoewel er een aantal implementaties van de CLI beschikbaar is voor niet-Microsoft besturingssystemen, draait de CLR van Microsoft alleen op het eigen Windows besturingssysteem.
Zoals gezegd neemt het gebruik van een virtual machine een groot deel van de processor-specifieke details weg, wat een groot voordeel voor de programmeur is. Naast deze taak neemt de CLR onder andere de volgende taken van de programmeur (voor een groot deel) over:
- geheugenbeheer
- threadbeheer
- exception handling
- garbage collection
- security
Referentie
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.