¿Qué significa especificación lingüística común
La Especificación de Lenguaje Común (CLS) es un conjunto fundamental de características del lenguaje soportadas por el Common Language Runtime (CLR) de .NET Framework. CLS forma parte de las especificaciones de .NET Framework.
CLS se diseñó para admitir construcciones de lenguaje utilizadas habitualmente por los desarrolladores y producir código verificable, lo que permite a todos los lenguajes compatibles con CLS garantizar la seguridad de tipos del código.
CLS incluye características comunes a muchos lenguajes de programación orientados a objetos. Forma un subconjunto de la funcionalidad del sistema de tipos común (CTS) y tiene más reglas que las definidas en CTS.
Diccionario Techopedia: Especificación del Lenguaje Común
CLS define las reglas base necesarias para que cualquier lenguaje orientado a la infraestructura de lenguaje común pueda interoperar con otros lenguajes compatibles con CLS. Por ejemplo, un método con un parámetro de tipo “unsigned int” en un objeto escrito en C# no es compatible con CLS, del mismo modo que algunos lenguajes, como VB.NET, no admiten ese tipo.
CLS representa las directrices para el compilador de un lenguaje orientado a .NET Framework. El código compatible con CLS es el código expuesto y expresado en forma CLS. Aunque varios lenguajes .NET difieren en sus reglas sintácticas, sus compiladores generan las instrucciones del Lenguaje Intermedio Común, que son ejecutadas por CLR.
Por lo tanto, CLS permite flexibilidad en el uso de tipos no conformes en la implementación interna de componentes con requisitos conformes a CLS. De este modo, CLS actúa como una herramienta para integrar diferentes lenguajes en un mismo paraguas de forma fluida.