Infraestructura de lenguaje común

ImprimirCitar
Especificación abierta utilizada para definir el. Marco NET, entre otros tiempos de ejecución

La Common Language Infrastructure (CLI) es una especificación abierta y un estándar técnico desarrollado originalmente por Microsoft y estandarizado por ISO/IEC (ISO/IEC 23271) y Ecma International (ECMA 335) que describe el código ejecutable y un entorno de tiempo de ejecución que permite el uso de múltiples lenguajes de alto nivel en diferentes plataformas informáticas sin tener que reescribirlos para arquitecturas específicas. Esto implica que es independiente de la plataforma..NET Framework,.NET y Mono son implementaciones de la CLI. El formato de metadatos también se usa para especificar las definiciones de API expuestas por Windows Runtime.

Resumen

Vista general de la infraestructura de lenguaje común (CLI)

Entre otras cosas, la especificación CLI describe los siguientes cuatro aspectos:

El Sistema de Tipo Común (CTS)
Un conjunto de tipos y operaciones de datos compartidos por todos los idiomas de programación compatibles con el CTS.
Los metadatos
La información sobre la estructura del programa es un lenguaje-agnóstico, para que pueda ser referenciada entre idiomas y herramientas, facilitando el trabajo con código escrito en un idioma que el desarrollador no está utilizando.
La especificación del lenguaje común (CLS)
The CLI should conform with the set of base rules to which any language targeting, since that language should interoperate with other CLS-compliant languages. Las reglas de CLS son un subconjunto del Sistema de Tipo Común.
El Sistema de Ejecución Virtual (VES)
El VES carga y ejecuta programas compatibles con CLI, utilizando los metadatos para combinar piezas de código generadas por separado en tiempo de ejecución.

Todos los lenguajes compatibles se compilan en Common Intermediate Language (CIL), que es un lenguaje intermedio que se abstrae del hardware de la plataforma. Cuando se ejecuta el código, el VES específico de la plataforma compilará el CIL en el lenguaje de máquina de acuerdo con el hardware y el sistema operativo específicos.

Estandarización y licencia

En agosto de 2000, Microsoft, Hewlett-Packard, Intel y otros trabajaron para estandarizar la CLI. En diciembre de 2001, fue ratificado por la Ecma, seguido de la estandarización ISO/IEC en abril de 2003.

Microsoft y sus socios tienen patentes para CLI. Ecma e ISO/IEC requieren que todas las patentes esenciales para la implementación estén disponibles bajo "términos razonables y no discriminatorios (RAND)". Es común que las licencias RAND requieran el pago de regalías, lo que podría ser motivo de preocupación con Mono. Desde enero de 2013, ni Microsoft ni sus socios han identificado ninguna patente esencial para las implementaciones de CLI sujetas a términos RAND.

A partir de julio de 2009, Microsoft agregó C# y CLI a la lista de especificaciones a las que se aplica la Promesa de la comunidad de Microsoft, por lo que cualquier persona puede implementar con seguridad ediciones específicas de los estándares sin temor a una demanda de patentes de Microsoft. Para implementar el estándar CLI se requiere la conformidad con uno de los perfiles compatibles y definidos del estándar, el mínimo de los cuales es el perfil del kernel. El perfil del kernel es en realidad un conjunto muy pequeño de tipos para admitir en comparación con la conocida biblioteca central de las instalaciones predeterminadas.NET. Sin embargo, la cláusula de conformidad de la CLI permite extender el perfil admitido agregando nuevos métodos y tipos a las clases, así como derivando de nuevos espacios de nombres. Pero no permite agregar nuevos miembros a las interfaces. Esto significa que las características de la CLI se pueden usar y ampliar, siempre que la implementación del perfil conforme no cambie el comportamiento de un programa destinado a ejecutarse en ese perfil, mientras permite un comportamiento no especificado de programas escritos específicamente para esa implementación.

En 2012, Ecma e ISO/IEC publicaron la nueva edición del estándar CLI, que no está cubierto por Community Promise.

Implementaciones

  • . NET Framework es la aplicación comercial original de Microsoft del CLI. Sólo admite Windows. Fue superada por. NET en noviembre 2020.
  • . NET, anteriormente conocido como. NET Core, es el sucesor multiplataforma libre y de código abierto a. NET Framework, lanzado bajo la licencia MIT
  • . NET Compact Framework es la implementación comercial de Microsoft del CLI para dispositivos portátiles y Xbox 360.
  • . NET Micro Framework es una aplicación de código abierto del CLI para dispositivos con capacitación en recursos.
  • Mono es una aplicación alternativa de código abierto de CLI y tecnologías acompañantes, principalmente para el desarrollo de juegos y móviles.

Contenido relacionado

Transporte en Italia

Cine digital

Tenencia del motor Ducati

Más resultados...
Tamaño del texto:
Copiar