Vi esta bonita imagen aquí . Aprendí que todos los compiladores que admiten el lenguaje .net convierten el código fuente al CILformato. Ahora Microsoft nunca está incorporando .NETtodo el sistema operativo escribiendo un CLR para todos los sistemas operativos. Entonces, ¿por qué mantener un formato de código intermedio y un CLR para ejecutar ese CIL? ¿No es un dolor de cabeza con el que lidiar? ¿Por qué Microsoft eligió ser así?
EDITAR Este tipo de arquitectura tiene su precio. Reducirá el rendimiento, ¿no? Java hace esto para mantener la independencia de la plataforma, ¿por qué razón lo hace .NET? ¿Por qué no mantener un simple compilador de C simple? Cualquier forma también requerirá un compilador para convertir el código a CIL si necesito agregar un nuevo idioma, la única diferencia que haría es el idioma de destino. Tat es todo.