Common Language Runtime (CLR) proporciona a los programadores informáticos un marco que permite que los programas se ejecuten en varios entornos informáticos.
CLR está diseñado para ser una implementación funcional de Common Language Infrastructure (CLI) de Microsoft. Es uno de los elementos clave de .NET Framework de Microsoft y proporciona a los programadores un código de programación intermedio.
Los programas de computadora se componen de una serie de código de máquina que instruye a la Unidad Central de Procesamiento (CPU) sobre qué hacer. La lista de instrucciones que una CPU específica puede entender se conoce como su conjunto de instrucciones. Los diferentes modelos de CPU tienen diferentes conjuntos de instrucciones.
El sistema operativo de la computadora resuelve la mayoría de estos problemas. El sistema operativo trabaja para abstraer los detalles de la computadora para que los programas puedan ejecutarse en diferentes tipos de computadoras. Los detalles de cómo el sistema operativo hace esto varía entre los sistemas operativos.
Aquí es donde entra en vigor Common Language Runtime. Proporciona otra capa de abstracción que puede permitir que los programas se ejecuten en varios sistemas operativos y computadoras. Esto tiene una doble ventaja. No solo significa que los programas pueden ejecutarse en diferentes tipos de hardware de computadora, sino que también asegura que los programadores de aplicaciones tengan más tiempo para trabajar en las características de su programa.
En lugar de convertir los programas en una serie de instrucciones específicas de la CPU, Common Language Infrastructure permite que los programas se compilen en una serie de instrucciones para una CPU virtual. Luego, Common Language Runtime utiliza estas instrucciones para ejecutar el programa. Esto permite que todos los cambios específicos de la CPU y del sistema operativo se realicen en Common Language Runtime en lugar de en cada programa de computadora individual.
Existen muchas ventajas al utilizar Common Language Runtime. La ventaja más obvia es que los programadores de aplicaciones ya no tienen que preocuparse por hacer que sus programas se ejecuten en todas las computadoras. Además, el CLR permite realizar una serie de optimizaciones de rendimiento que, de otro modo, no estarían disponibles para la aplicación. Esto permite que los programas se ejecuten de manera mucho más eficiente de lo que sería posible de otro modo.
A partir de 2010, Common Language Runtime de Microsoft solo estaba disponible en la plataforma Windows®. Hay una serie de implementaciones de CLI que han sido creadas por grupos ajenos a Microsoft que se ejecutan en otros sistemas operativos. El uso de la CLI permite crear programas que se ejecutarán en cualquier computadora y cualquier sistema operativo que lo admita.