Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1318 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Une interrogation sur les langages interprétés et java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une interrogation sur les langages interprétés et java

n°869955
Mjules
Parle dans le vide
Posté le 11-10-2004 à 12:12:34  profilanswer
 

Bonjour,
 
depuis quelques jours j'ai une interrogation qui me trotte dans la tête et je n'arrive pas à y trouver de réponse.
 
Si j'ai bien compris :
Avec un langage interprété, l'interpréteur transcrit à la volée le source en langage machine qui est éxécuté.  
Avec Java, le source est d'abord compilé en langage de la machine virtuelle puis celle ci traduit son langage perso vers celui de la machine physique.
 
J'ai bon jusque là ?
 
si oui, ma question est la suivante : En excluant le langage en lui même, quel est l'intérêt du schéma adopté par java (compilation puis traduction) face à celui d'un langage interprété (transcription) ?
 
Sinon, autre question, est il possible et y aurait il un intérêt à compiler un langage interprété pour obtenir un éxécutable ? Si c'est possible ou non, est ce que c'est lié au langage en lui même ou est ce le fait qu'il soit interprété ?
 
Merci de vos éclaircissements.
A+


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
mood
Publicité
Posté le 11-10-2004 à 12:12:34  profilanswer
 

n°869961
Lam's
Profil: bas.
Posté le 11-10-2004 à 12:20:11  profilanswer
 

Alors, le langage utilisé par Java est déjà compilé. La vérification de la syntaxe et des objets utilisés est déjà faite. De plus, le produit du compilateur Java est plus ou moins optimisé pour être facile à manipuler.
 
Ta remarque sur les langages interprétés est tout à fait valide. C'est la raison pour laquelle il existe un compilateur à Visual Basic (qui est pourant interprété à la base), ainsi qu'un projet appellé gcj, le Gnu Compiler pour Java, qui génère directement du code exécutable (sans JVM je crois).
 
Mais de nos jours, les JVMs sont très efficaces et sont capables de compiler le code à la volée, en utilisant plein de paramètres qui ne sont connus qu'à l'exécution (telle partie de code n'est jamais utilisée, alors que telle partie mérite d'être ultra-optimisée). Ca donne du code très performant.
 
L'intérêt de Java, c'est que tu as donc du code dont on a vérifié qu'il fonctionne, et qu'on a déjà compilé, mais qui reste indépendant des plate-formes. Et ça, ça vaut de l'or que d'avoir des fichiers exécutables portables (qui fonctionnent de la même façon sous Windows, Linux, Solaris, ou ton PalmPilot).


Message édité par Lam's le 11-10-2004 à 12:26:25
n°869970
Mjules
Parle dans le vide
Posté le 11-10-2004 à 12:32:21  profilanswer
 

Lam's a écrit :

Alors, le langage utilisé par Java est déjà compilé. La vérification de la syntaxe et des objets utilisés est déjà faite. De plus, le produit du compilateur Java est plus ou moins optimisé pour être facile à manipuler.
 
Ta remarque sur les langages interprétés est tout à fait valide. C'est la raison pour laquelle il existe un compilateur à Visual Basic (qui est pourant interprété à la base), ainsi qu'un projet appellé gcj, le Gnu Compiler pour Java, qui génère directement du code exécutable (sans JVM je crois).
 
Mais de nos jours, les JVMs sont très efficaces et sont capables de compiler le code à la volée, en utilisant plein de paramètres qui ne sont connus qu'à l'exécution (telle partie de code n'est jamais utilisée, alors que telle partie mérite d'être ultra-optimisée). Ca donne du code très performant.

L'intérêt de Java, c'est que tu as donc du code dont on a vérifié qu'il fonctionne, et qu'on a déjà compilé, mais qui reste indépendant des plate-formes. Et ça, ça vaut de l'or que d'avoir des fichiers exécutables portables (qui fonctionnent de la même façon sous Windows, Linux, Solaris, ou ton PalmPilot).



Merci pour tes réponses. :jap:
 
Une dernière chose, si je comprends bien la partie en gras, le soft réagit toujours de la même façon quelquesoit la plateforme où il est lancé (c'est la machine virtuelle qui s'occupe des différences) alors qu'avec de l'interprété pur, il peut y avoir une différence. J'ai bon ?
 
Merci


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°869975
Lam's
Profil: bas.
Posté le 11-10-2004 à 12:44:11  profilanswer
 

Euh oui et non :-) Ca fait bien ça, mais l'interprété le fait aussi a priori. C'est le code compilé qui ne le fait pas, puisqu'il te faudra le compiler pour chaque plate-forme cible. C'est donc ça l'un des avantages de Java par rapport à du compilé en mode natif.
 
L'autre intérêt en fait, comme tu l'as mentionné, c'est que Java définit le langage mais également l'environnement. Tu as donc une façon standard et portable de manipuler les fichiers, le réseau, la communication entre process, etc.
 
Et l'avantage par rapport à de l'interprété pur, c'est sa vitesse, et le fait que le code ait été vérifié et compilé.
 

n°869977
Mjules
Parle dans le vide
Posté le 11-10-2004 à 12:48:03  profilanswer
 

Ok, là c'est plus clair :jap:
 
merci pour ces explications


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Une interrogation sur les langages interprétés et java

 

Sujets relatifs
java xml et parser saxRécupérer une adresse IP en Java
[Java] Calendar, Timezone et consors...session java avec un firewall
[Java] Cohabitations de multiples JVM sur un PCjava swing modélisation UML avec MagicDraw
Java sous linux mankrakequels langages aborder ?
Les langages de programmation objet[JAVA] generer un fichier bat windows depuis du code java pb encoding
Plus de sujets relatifs à : Une interrogation sur les langages interprétés et java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR