Qu'est-ce qu'un code géré?
"Code géré" est un terme créé par Microsoft® Coproration. Ce terme désigne un code de programme nécessitant l'utilisation de la machine virtuelle CLR (Common Language Runtime) pour pouvoir être utilisé. Le terme "code non managé" est utilisé pour faire référence à un code de programme qui ne nécessite pas cette machine virtuelle.
Common Language Runtime a été développé pour permettre aux programmes de s'exécuter sur divers ordinateurs et systèmes d'exploitation sans nécessiter de modification du code de programme. Pour ce faire, le code de programme informatique est converti en bytecode de machine virtuelle. Ce bytecode est ensuite interprété par la machine virtuelle CLR et converti en bytecode pour l'ordinateur spécifique sur lequel elle s'exécute.
Un code géré est capable de s'exécuter sur n'importe quel ordinateur équipé de la machine virtuelle CLR. Ce haut degré de portabilité lui confère un avantage décisif par rapport au code non géré. Le code non géré nécessite que les programmeurs modifient le code du programme pour l'utiliser sur différentes machines. Ce processus peut non seulement être lent, mais aussi conduire à de nombreuses erreurs d’application.
Un autre avantage d'un code géré est sa sécurité renforcée. La sécurité d'un programme créé avec un code non managé dépend fortement de l'implémentation réalisée par les programmeurs. L'utilisation de la machine virtuelle CLR permet de résoudre de nombreux problèmes de sécurité des programmeurs. La majorité des problèmes de sécurité pouvant survenir sont directement centrés au sein de la machine virtuelle elle-même. Cela en soi aide à centraliser les problèmes, ce qui rend beaucoup plus rapide la mise en œuvre de correctifs de sécurité.
La question de savoir si un ensemble de code particulier est du code géré ou du code non géré est extrêmement importante pour les programmeurs. Le code géré a un degré de portabilité plus élevé, mais cette portabilité requiert l'installation de Common Language Runtime sur l'ordinateur cible. Le code non géré, en revanche, peut être exécuté sans l'ajout du CLR.
L'utilisation du code managé présente de nombreux avantages, mais présente également plusieurs inconvénients. Le principal inconvénient est la surcharge que nécessite l'utilisation de la machine virtuelle CLR. La différence entre la vitesse d'exécution du code géré et celle du code non géré est souvent négligeable, mais dans certains cas, cela crée une différence très sensible dans le temps de réponse des applications. En conséquence, le code non géré joue un rôle crucial dans la majorité des applications nécessitant un haut degré de rapidité par rapport à la portabilité.