Hasta hace poco desconocía la posibilidad de integrar lenguajes de programación como PHP Y Ruby en .NET. La arquitectura de .NET cuenta con un diseño espectacular: mediante el uso del lenguaje intermedio CIL (Common Intermediate Language) especificado en el CLI (Common Language Infrastructure), podemos trabajar con cualquier tipo de lenguaje. De forma simplificada, el proceso es el siguiente:

  1. Escribimos código fuente en el lenguaje deseado.
  2. El código fuente se compila a CIL. La lista de compiladores es grande, inclusive, el proyecto Mono cuenta con un conjunto de compiladores compatibles.
  3. El entorno de ejecución CLR traduce el código CIL a código máquina.

De esta forma, .NET no solo garantiza independencia del sistema, sino también, independencia del lenguaje y reutilización de código. Cualquiera sea el lenguaje en el que trabajemos, podemos desarrollar un compilador que traduzca nuestro código a CIL, y así, aprovechar el trabajo previamente realizado.