Skip to main content

¿Qué es la infraestructura de lenguaje común?

La infraestructura de lenguaje común (CLI) es un conjunto de estándares técnicos internacionales que promueven la interoperabilidad del lenguaje de programación de computadoras. La CLI también permite que muchos lenguajes de alto nivel desarrollen aplicaciones que son independientes de las plataformas y arquitecturas. Hay más de 30 lenguajes de programación agrupados para este propósito y que utilizan cuatro divisiones de especificaciones de programación de lenguaje común para cumplir con la CLI.

El uso de lo que se llama un sistema de tipo común (CTS), el uso de un conjunto de tipos de datos y operaciones y la información de metadatos en las estructuras de programación permite la escritura de códigos en varios idiomas. La CLI compila los idiomas en un lenguaje intermedio común (CIL) y, desde CIL, comunica los aspectos de la aplicación al lenguaje de máquina ensambladora, que aborda el hardware. Además, existen especificaciones de lenguaje común (CLS), que son un conjunto de reglas básicas para el uso de cualquier interoperación de búsqueda de lenguaje, y un sistema de ejecución virtual (VES) para la carga, ejecución y generación de códigos de ejecución para todos los programas compatibles con CLI .

La mayoría de los lenguajes compatibles con CLI compilan directamente al CIL mediante el uso del Common Language Runtime (CLR). Después de ser compilado y almacenado en caché, un compilador justo a tiempo se apropia del código de máquina de la arquitectura existente. La construcción del código de la máquina de ensamblaje también se puede construir antes del CLR con un compilador anticipado.

Para que los lenguajes compatibles con CLI aprovechen la especificidad de los objetos, la infraestructura de lenguaje común especifica que los objetos solo necesitan exponer las características que tienen en común con los otros lenguajes compatibles con CLI cuando se los llama. Se dice que los componentes de código desarrollados para usar solo los tipos de datos aceptados en el CTS son compatibles con CLI y accesibles a todos los demás lenguajes compatibles con CLI. Además, cualquier construcción de un lenguaje que no pueda verificarse rápidamente por la seguridad de tipo del código se excluye del CLS, por lo que solo se puede decir que los códigos verificables cumplen con CLS.

Algunas características de programación son comunes tanto para los compiladores como para los desarrolladores y otras están disponibles solo para los compiladores. La lista es larga y está llena de funciones útiles. Una característica disponible solo para los compiladores es: palabras clave que proporcionan identificadores de referencia y que pueden anular los métodos virtuales con nombres que son palabras clave. Una característica disponible tanto para los compiladores como para los desarrolladores incluye: características modificadoras que dicen que una propiedad y sus evaluadores deben ser todos "estáticos", todos deben ser "virtuales", todos deben ser "instancia".

Los programas de implementación son para computadoras de escritorio, servidores, dispositivos móviles y consolas de juegos. Los programas de mejora de la visión por computadora y los kits de herramientas de máquinas virtuales de bajo nivel también se desarrollan a partir de lenguajes compatibles con la infraestructura de lenguaje común. Los tiempos de ejecución de la infraestructura de lenguaje común asignan recursos del sistema y llaman a los dispositivos periféricos de manera eficiente, aunque son independientes de la plataforma.