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

Langage Java Discussion :

pourquoi un interpreteur ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Par défaut pourquoi un interpreteur ?
    bonsoir, (je suis un débutant en java)
    je me pose une question qui est la suivante :

    pourquoi un unterpreteur à la place d'un compilateur, pourtant un compilateur est meilleur coté performance. on dit qu'avec l'interpreteur, le code est portable (mais on a développé des machines virtuelles pour chaque plateforme), on peut aussi ecrire des compilateurs suivant les plateformes !

    merci de bien vouloir me répondre

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Oui mais une fois que l'interpréteur est installé il accepte tous les codes Java alors que le code compilé est cantonné à tourner sur des machines spécifiques sauf s'il respecte complètement une norme.

  3. #3
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    soyons plus précis :

    En fait, dans les autres langage, lorsque tu compiles (ne parlons pas de la compilation conditionnelle, c'est autre chose, ca ne fait qu'alourdir le code ne le rendant encore plus illisible), tu compiles pour la machine actuelle. Ton code ne sera pas compatible unix ou mac si tu compiles / programmes pour windows.
    Or, un programme Java est interprété. Ce que cela change, c''est qu'il sera interprété différemment par la machine virtuelle (interpretteur) en fonction du PC sur lequel tu l'execute, donc potentiellement compatible avec n'importe quelle machine.

    C'est clair ?

    mavina

  4. #4
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par défaut
    de plus java n'est pas que interpreté. les Jvm modernes (comme celles de sun), compilent a la volée certaines parties de programme histoire d'accelerer l'execution. De plus, cela permet d'optimiser la compilation en fonction du fonctionnement réel de l'application

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Les langages qui ont besoins d'être exécuté en natif ont un gros désavantages : le code doit être compilé autant de fois qu'il y a de machine cible... Cela peut poser des problèmes si tu dois déployer à grande echelle...

    De plus, si les langages "natif" permettent d'écrire des applications portables (et je pense en particulier au C et C++), cela neccessite une travail particulier afin d'éviter d'utiliser des librairies et du code non-portables... Avec Java ce problème est bien moindre...


    Enfin Java n'est pas un vrai langage interprété (contrairement au PHP ou Javascript par exemple), car il est compilé en bytecode. C'est ce bytecode qui est interprété par la JVM, comme peut l'être le code natif par le processeur...

    Enfin, ce bytecode Java est généralement assez proche du code natif, et il est compilé à la volée à l'exécution. Cela permet d'obtenir des temps d'exécutions proche d'un programme natif, voir meilleur dans certain cas...

    J'avais effectuée quelques essai il y a quelques temps sur mon blog : La machine virtuelle Java est-elle vraiment lente ?


    a++

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Par défaut
    merci
    c'est clair, maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

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