Runtime ( Encore ! ) : Il est tres important de comprendre comment fonctionne le CLR.
Les codes source C#, Managed C++ ou VB.net ou tout autre langage de dot net ne sont que des variantes syntaxiques. Ils sont tous compatibles et interchangeables. Le compilateur genere alors du code IL qui est une sorte d'assembleur oriente objet. Ce code IL est independant de la plateforme materielle et de l'OS. Je peux le distribuer pour PC-Windows, pour MAC, pour PC-Linux. Lorsque ce code IL est active, il est compile et linke. Le resultat est du code natif : code x86 sur du PC, code PPC-970 sur MAC, code specifique Opteron et Itanium probablement bientot. C'est le "JIT". Pas d'interpreteur, pas d'emulation, au final ca tourne direct sur le metal. Et evidement, c'est pour cela que les perfs sont tres bonnes et tout a fait comparables avec le C++ classique.
Cette phase de JIT peut aussi etre effectuee egalement tranquillement au moment du developement. On obtient alors un executable natif specifique a une machine cible ( processeur + os ) qui n'a pas besoin d'une installation prealable du framework pour fonctionner.
Desole pour le "respect"... Mais affirmer haut et fort des considerations techniques totalement inexactes sans avoir essaye ou compris les bases d'une technologie, ce n'est pas respecter les lecteurs du forum.