¿Cuál es la infraestructura del idioma común?
La infraestructura del lenguaje común (CLI) es un conjunto de estándares técnicos internacionales que promueven la interoperabilidad del lenguaje de programación de computadoras. CLI también permite que muchos idiomas de alto nivel desarrollen aplicaciones independientes de plataformas y arquitecturas. Hay más de 30 lenguajes de programación agrupados para este propósito y utilizando cuatro divisiones de especificaciones de programación de lenguaje comunes para cumplir con CLI.
Hacer uso de lo que se llama un sistema de tipo común (CTS), utilizando un conjunto de tipos de datos y operaciones y información de metadatos sobre estructuras de programación permite la redacción de códigos de lenguaje cruzado. La CLI compila los idiomas en un lenguaje intermedio común (CIL), y de CIL, comunica los aspectos de la aplicación al lenguaje de la máquina de ensamblaje, que aborda el hardware. Además, existen especificaciones de lenguaje comunes (CLS), que son reglas básicas establecidas para su uso por cualquier idioma que busque la interoperación y un sistema de ejecución virtual (VES) para la cargaing, ejecución y generación de códigos de ejecución para todos los programas que cumplen con la CLI.
La mayoría de los idiomas que cumplen con la CLI se compilan directamente al CIL mediante el uso del tiempo de ejecución del idioma común (CLR). Después de ser compilado y almacenado en caché, un compilador justo a tiempo se apropia del código de la 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 de tiempo antes de tiempo.
Para que los idiomas compatibles con CLI aprovechen la especificidad de los objetos, la infraestructura del lenguaje común especifica que los objetos solo necesitan exponer las características que tienen en común con los otros idiomas que cumplen con la CLI cuando se les llama. Se dice que los componentes del código desarrollados para usar solo los tipos de datos aceptados en el CTS son compatibles con CLI y accesibles para todos los demás idiomas compatibles con CLI. Además, cualquier construcción de un idioma que no pueda verificarse rápidamente por el tipo de seguridad del tipoEl código se excluye del CLS, por lo que solo se puede decir que los códigos verificables cumplen con los 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 llena de características útiles. Una característica disponible solo para los compiladores es: palabras clave que suministran 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: las características del modificador que dicen que una propiedad y sus evaluadores deben ser todos "estáticos", deben ser "virtuales", deben ser "instancia".
Los programas de implementación son para escritorios, servidores, dispositivos móviles y consolas de juegos. Los programas de mejora de la visión por computadora y los kits de máquinas herramienta virtuales de bajo nivel también se desarrollan a partir de idiomas de infraestructura de lenguaje común. La infraestructura del idioma común, los tiempos de ejecución de la infraestructura asignan recursos del sistema y llaman a dispositivos periféricos de manera eficiente, aunque sonplataforma independiente.