In rete ho trovato questo:
"Java:
Java code is compiled into Byte Code which is stored in a ".class" file
until runtime. At runtime, the Java Virtual Machine interprets the Byte Code
and then executes machine code accordingly. At no point is the Java Byte
Code compiled directly into machine code.
..NET:
Code written in any .NET language (C#, VB.NET, C++.NET, etc.) is compiled
into MSIL, which is stored in an assembly file. At runtime, the Common
Language Runtime compiles that MSIL directly into machine code, which is
then executed. Depending on the compilation settings, the JIT compilation
results (MSIL -> machine code) may be cached for future use. It is also
possible to use the NGen.exe tool to manually compile MSIL directly into
machine code, and distribute an application like that."
che in pratica si avvicina a quanto è stato detto.. :master: