- Code managé
-
Managed code
En informatique, le managed code (en français, code géré, ou code managé) permet d'améliorer la sûreté de fonctionnement d'un programme (et de simplifier le travail du programmeur). Ce terme fait partie de la terminologie Microsoft, mais le même concept existe pour le langage Java.
Dans la terminologie Microsoft, managed code est un code qui s'exécute sous la gestion de la machine virtuelle CLR, ou d'une autre machine virtuelle. Ce terme est employé par opposition au unmanaged code (code non géré), qui est exécuté directement par le processeur.
Le ramasse-miettes est l'exemple le plus simple pour montrer les avantages du « managed code » :
- Si le programmeur oublie de libérer de l'espace-mémoire, le ramasse-miette se chargera de cela ; cela évitera entre autres d'avoir des fuites de mémoire invisibles qui sont des bombes à retardement dans les applications.
Un autre exemple classique, c'est de vérifier que les variables sont bien du type attendu.
- Cela ne simplifie pas forcément la tâche du programmeur, mais cela garantit une meilleure sûreté de fonctionnement.
Les principaux langages de programmation pour écrire du managed code sont C# et Visual Basic .NET.
Sommaire
Analyse du plantage d'un programme
Le managed code évite des plantages des programmes, mais pas tous. Si, malgré tout, il y a un plantage, il est plus facile à analyser. Avec du code non géré, le plantage se produira bien longtemps après l'erreur (effet bombe à retardement), alors qu'avec du managed code, le plantage se produira plus près de l'emplacement de l'erreur.
Comparatif avec java
Le terme de managed code provenant de Microsoft ne fait pas partie de la terminologie java, mais le même concept existe : du code exécuté dans la JVM bénéficiera de plusieurs avantages dont notamment le ramasse-miettes.
Articles connexes
- Platform Invocation Services (P/Invoke), bibliothèque utilisant du code non managé pour s'interfacer avec des bibliothèques utilisant d'autres langages
- Singularity
Références externes
- (en) What is managed code? (Brad Abrams - .NET Framework team)
- Portail de l’informatique
- Portail de la sécurité informatique
Catégories : .NET Framework | Programmation informatique
Wikimedia Foundation. 2010.