Saisir un mot clé:
 
 

interpréteur

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil
ok

google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel =""; google_color_border = "f9f9f9"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; //-->

Un article de Wikipedia.y-project.com.

(Redirigé depuis Interpréteur)
Image:Langage progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
Ada 95 - C++ - C#
Common Lisp
Delphi - Eiffel - Java
Nice - Python
Ruby - Scriptol - Simula
Smalltalk - Visual Basic
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Perl - PHP
Langages fonctionnels
Haskell | ML/OCaml
Lisp/Common Lisp
Scheme
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Java
Langages balisés
HTML - SGML - XML
Dialectes XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

En informatique, un interprète (parfois appelé, à tort, interpréteur par mauvaise traduction de l'anglais) est un outil ayant pour tâche d'analyser, de traduire, et d'exécuter un programme écrit dans un langage informatique. De tels langages sont dits langages interprétés.

Le cycle d'un interprète est le suivant:

  • lire et analyser une instruction ;
  • si l'instruction est syntaxiquement correcte, l'exécuter ;
  • passer à l'instruction suivante.

Ainsi, contrairement au compilateur, l'interprète se charge aussi de l'exécution du programme, au fur et à mesure de son interprétation. Du fait de cette phase d'interprétation, l'exécution d'un programme interprété est généralement plus lente que le même programme compilé.

L'intérêt des langages interprétés réside principalement dans la facilité de programmation et dans la portabilité. Les langages interprétés facilitent énormément la mise au point des programmes car ils évitent la phase de compilation, souvent longue, et limitent les possibilités de bogues. Il est en général possible de faire tourner des programmes incomplets, ce qui facilite le développement rapide d'applications ou de prototypes d'applications. Ainsi, le langage BASIC fut le premier langage interprété à permettre au grand public d'accéder à la programmation. La portabilité permet d'écrire un programme unique, pouvant être exécuté sur différentes plateformes sans changements, s'il existe un interprète spécifique à chaque plateforme matérielle.

[] Historique

Avec l'apparition du langage compilé Pascal et de compilateurs commerciaux rapides comme Turbo Pascal, les langages interprétés connurent à partir du milieu des années 1980 un fort déclin. Trois éléments changèrent la donne dans les années 1990 :

  • avec la nécessité d'automatiser rapidement certaines tâches complexes, des langages de programmation interprétés (en fait, semi-interprétés) de haut niveau comme, entre autres, Tcl, Ruby, Perl ou Python se révélèrent rentables ;
  • la puissance des machines, qui doublait tous les dix-huit mois en moyenne (selon la loi de Moore), rendait les programmes interprétés des années 1990 d'une rapidité comparable à celle des programmes compilés des années 1980 ;
  • il est bien plus rapide de faire évoluer un programme interprété. Or la vague Internet demandait une réponse très rapide aux nouveaux besoins du marché. amazon.com fut, dans sa première version, développé largement en Perl. Smalltalk permettait un prototypage très rapide d'applications (parfois en moins d'une journée, par exemple, pour tenir compte d'aides fiscales à l'achat de voitures neuves).

[] Utilisations des langages interprétés

Les langages interprétés trouvent de très nombreuses utilisations :

  • dans le domaine éducatif, les langages interprétés permettent de se concentrer sur les algorithmes et les structures de données, et non sur les particularités de tel ou tel langage. Il est à noter toutefois que les structures de données n'ont plus à être enseignées de façon pratique aujourd'hui, sauf aux concepteurs de langages. Elles sont en effet disponibles en standard dans tous les langages objet, et même quelques autres. Ainsi Perl implémente les hashs ou fonctions de hachage comme type d'accès de base, éliminant tout besoin de les programmer ;
  • les calculs scientifiques ne demandant pas de calcul intensif (itérations sur de très grandes matrices, par exemple) peuvent s'écrire avec profit dans un langage interprété. Ils permettent d'appeler des algorithmes de calcul performants précompilés. Les systèmes de calcul symbolique utilisent aussi cette possibilité ;
  • les interprètes de ligne de commande (désignés par le nom shell dans la terminologie Unix). Ces interprètes sont capables de comprendre des commandes tapées sur un clavier ou en provenance d'une autre source. Ils disposent d'une syntaxe spécifique à chaque système d'exploitation, et permettent de gérer les ressources matérielles d'une machine (disques, mémoire centrale, entrées/sorties, etc.) ainsi que la communication entre les programmes. Rexx est le langage de commandes des ordinateurs centralisés d'IBM, tandis que les Bourne shell, C-shell, Korn shell sont les shells les plus courants sous Unix ; quant au MS-DOS, le plus rudimentaire des interprètes de ligne de commande, il est propre aux systèmes d'exploitation de Microsoft. Des langages de programmation comme Perl ou Rexx sont souvent installés pour disposer d'un environnement plus puissant et plus convivial que les shells d'origine. On conçoit que la compilation ne présenterait pas d'intérêt pour des commandes :
    • dont chacune est exécutée en moyenne une fois ;
    • ou dont la limitation de performance provient de questions d'accès aux fichiers, et non de calcul ;
  • le langage SQL (Standard Query Language) est un langage interprété standardisé qui permet de mettre à jour ou extraire des informations contenues dans des bases de données ;
  • les navigateurs web reçoivent des instructions symboliques et les exécutent directement. Les navigateurs courants savent tous interpréter du code HTTP (HyperText Transfer Protocol) pour les instructions de transfert d'une machine à l'autre, du code HTML (HyperText Markup Langage) pour les descriptions des pages web, et du Javascript pour une programmation plus élaborée, offrant la possibilité de manipuler des variables plus ou moins complexes, des structures de contrôle et de manipuler les différents objets entrants dans la composition d'une page Web. Ces pages peuvent être statiques (elles sont écrites une fois pour toutes) ou générées dynamiquement par le serveur qui produit le code HTML au moment de la requête. Il peut ainsi adapter la page en fonction du contexte d'exécution. Les langages les plus couramment utilisés pour la génération dynamique de page Web sont Perl et PHP ;
  • de nombreux programmes incluent un langage afin d'automatiser certaines actions ou de créer de nouvelles fonctionnalités. Un des langages les plus utilisés pour cela est Scheme, une variante de Lisp. Le langage de description XML est aussi fortement utilisé pour le formatage des données, que ce soit au niveau de l'interface homme-machine, au niveau du transfert de données ou de leur écriture sous forme de fichiers. Dans ce domaine, on trouve également Perl, Python ou Tcl ;
  • le langage PostScript, langage permettant la description de graphiques vectoriels (propriété de la société Adobe), qui est souvent implémenté dans les imprimantes graphiques, les tables traçantes et les photocomposeuses ;
  • il existe des extensions permettant la programmation rapide d'interfaces graphiques à l'aide de langages interprétés. Le plus répandu est Tcl/Tk, mais il existe également Python/Tk, Python/wxWidgets, Perl/wxWidgets Python/Qt ou encore Gambas ;
  • dans le monde industriel, de plus en plus de machines sont pilotables par un langage interprété : les robots industriels, les machines-outils (APT, langage ISO (ou blocs)), les traceurs de plan, souvent pilotés en PostScript.

[] Voir Aussi

Image:Crystal mycomputer.png Portail de l'informatique ? Accédez aux articles de Wikipédia concernant l?informatique.
lt:Interpretatorius
DernierMirror  
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/interpréteur
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Aout 2008
L
M
M
J
V
S
D
123
45678910
1112131415 1617
18192021222324
25262728293031
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com