¿Que es son el lenguaje MSIL, el CLR y el compilador JIT?
Todos ellos son parte del motor de .net, el conjunto de librerias de funciones conocido como .net framework
Cuando compilamos un programa y lo ejecutamos en el ordenador del cliente
MSIL o IL a secas:
MSIL significa Microsoft Inmediate Language
Cuando compilamos un assembly (que un fichero de .net más o menos) da igual que el lenguage que escojamos sea c# , Vb.net o pyton el código generado es en lenguage MSIL (similar al Bytecode de Java)
Este MSIL es un lenguage intermedio común a todos los sistemas operativos que soporten .net framework
Cuando hacemos click sobre el .exe generado ese código MSIL es interceptado por el .net framework, en concreto por el CLR
El CLR o (Common Language Runtime)
Es el motor de todo .net, este CLR vuelve a compilar esta vez para generar codigo nativo, es decir optimizado
para el sistema operativo y el hardware actual
Esta compilación la realiza el compilador llamado JIT (Just In Time)
EL JIT o Just In Time Compilator
El JIT es otro programa de .net framework, el es el encaragado de convertir el codigo MSIL en código de nuestro sistema
operativo, este codigo se almacena en caché mientras nuestro .exe MSIL permanece inalterable.
¿Dudas? no os canseis de preguntar en los foros de DevJoker
Pablo Gumpert