IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

c'est quoi un code managé ?


Sujet :

Framework .NET

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 97
    Points : 76
    Points
    76
    Par défaut c'est quoi un code managé ?
    salut a tous ,
    je crois que ma question est dans le titre. j'arive pas à comprendre exactement ce point ; "code managé" "envirennement managé"
    à l'aaaaaaaaaaaaaaaide SVP

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Tout ce qui est managé, c'est tout ce qui est géré par le Framework .NET

    Donc un code managé, c'est un code compilé via un langage .NET (C#, VB.NET, etc...)

  3. #3
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Quand tu compiles en dotnet, ton code n'est pas compilé en binaire directement mais dans un language intermédiaire.

    Lorsque tu vas lancer ton exécutable, le CLR (Common Language Runtime) va traduire chaque partie de ton code en binaire au moment où tu en auras besoin dans l'application. Il y a donc un contrôle à tout moment par le CLR du code qu'il exécute.
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Tout ce qui est managé, c'est tout ce qui est géré par le Framework .NET

    Donc un code managé, c'est un code compilé via un langage .NET (C#, VB.NET, etc...)
    La dénomination de code managé est elle seulement propre à .NET ? Il me semblait que java était aussi du code managé ??

  5. #5
    Membre actif
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    code managé ou code géré est le code répondant au CLI (Common Language Infrastructure).

    Bye

  6. #6
    Invité4
    Invité(e)
    Par défaut
    Citation Envoyé par Cardi Voir le message
    Quand tu compiles en dotnet, ton code n'est pas compilé en binaire directement mais dans un language intermédiaire.

    Lorsque tu vas lancer ton exécutable, le CLR (Common Language Runtime) va traduire chaque partie de ton code en binaire au moment où tu en auras besoin dans l'application. Il y a donc un contrôle à tout moment par le CLR du code qu'il exécute.
    Et y a-t-il une baisse de performance vis-à-vis des binaires ordinaires ?

  7. #7
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Citation Envoyé par Eldacar Voir le message
    Et y a-t-il une baisse de performance vis-à-vis des binaires ordinaires ?
    Ca c'est sûr mais ça a ses avantages non négligeables car tu améliores considérablement la sureté de tes programmes :
    • Il n'y a plus de fuites de mémoire grâce au Garbage collector
    • Vérification que les variables sont bien du type attendu
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  8. #8
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par Cardi Voir le message
    Ca c'est sûr mais ça a ses avantages non négligeables car tu améliores considérablement la sureté de tes programmes :
    • Il n'y a plus de fuites de mémoire grâce au Garbage collector
    • Vérification que les variables sont bien du type attendu
    + :
    - Sécurité d'accès au code au moment de l'exécution
    - Possiblité de Reflexion en runtime
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  9. #9
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Eldacar Voir le message
    Et y a-t-il une baisse de performance vis-à-vis des binaires ordinaires ?
    Il peut y avoir une baisse comme il peut ne pas y en avoir. En java, il y a HotSpot associé à la machine virtuelle qui va éventuellement recompiler en natif certaines parties du code lors de l'exécution (par exemple les parties les plus utilisées vont être optimisé et compilé en code binaire).

    L'avantage par rapport à un compilateur classique est que la machine virtuelle sait exactement quelles sont les parties du code qu'il est nécessaire d'optimiser puisqu'il exécute lui même le code et peut faire du profiling en cours de route.
    Je ne répondrai à aucune question technique en privé

  10. #10
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par millie Voir le message
    Il peut y avoir une baisse comme il peut ne pas y en avoir. En java, il y a HotSpot associé à la machine virtuelle qui va éventuellement recompiler en natif certaines parties du code lors de l'exécution (par exemple les parties les plus utilisées vont être optimisé et compilé en code binaire).

    L'avantage par rapport à un compilateur classique est que la machine virtuelle sait exactement quelles sont les parties du code qu'il est nécessaire d'optimiser puisqu'il exécute lui même le code et peut faire du profiling en cours de route.
    En dotnet le runtime compile automatiquement les parties de code en binaire et les stockent pour réutilisation si besoin est. pas besoin de profiling . Par contre la baisse de perf sera toujours présente à la premiere exécution d'une méthode car il y a compilation "Just-in time"
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Citation Envoyé par dev01 Voir le message
    Par contre la baisse de perf sera toujours présente à la premiere exécution d'une méthode car il y a compilation "Just-in time"
    Si je me rappelle bien je crois que le compilo JIT est encore plus futé que ça : il va même déterminer quelles sont les méthodes susceptibles d'être les plus utilisées et le plus rapidement afin de les compiler en natif le plus vite possible. Le tout est ensuite placer en cache pour les utilisations futures.

    La baisse de perf est plutôt visible à cause du GC : vider le GC est une opération assez lourdes en ressources. Les dev C++ ont de gros problèmes pour palier les fuites de mémoires, nous on doit faire attention à ne pas bourrer le GC.
    La facilité du GC amène donc aussi d'autres souçis. (Je suis d'accord que fasse à la gestion de la mémoire en C++, on est est plutôt "cool" )


    En traitement d'images (pour les grosses opérations) on recommande de bosser en "unsafe" : c'est une partie du code qui ne sera pas gérer par le GC (il ne manipulera pas ton objet) : tu bosseras donc avec des pointeurs, tu peux alors attaquer directement l'emplacement mémoire... Au prix bien sur de la sécurité (unsafe^^)
    http://msdn2.microsoft.com/en-us/lib...b8(VS.71).aspx
    http://msdn2.microsoft.com/en-us/lib...74(VS.71).aspx

    Mais c'est à utiliser dans des cas vraiment très particulier.

  12. #12
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par Chubyone Voir le message
    La baisse de perf est plutôt visible à cause du GC : vider le GC est une opération assez lourdes en ressources. Les dev C++ ont de gros problèmes pour palier les fuites de mémoires, nous on doit faire attention à ne pas bourrer le GC.
    La facilité du GC amène donc aussi d'autres souçis. (Je suis d'accord que fasse à la gestion de la mémoire en C++, on est est plutôt "cool" )
    Exactement. Mais le GC a été revu et corrigé avec le Fx 3.5 il me semble et les perf devraient être bien meilleure
    ( cf :

    http://blogs.msdn.com/clyon/archive/...een-doing.aspx
    )
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

Discussions similaires

  1. c'est quoi un CMS(Content Management System)
    Par lykim dans le forum Débuter
    Réponses: 6
    Dernier message: 01/12/2007, 01h13
  2. [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Par seb.49 dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 13/02/2004, 10h41
  3. C'est quoi XMLRAD ?
    Par laffreuxthomas dans le forum XMLRAD
    Réponses: 10
    Dernier message: 09/08/2003, 02h42
  4. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo