Information Technology Reference
In-Depth Information
les instructions machine correspondantes. Cette phase de traduction est réalisée par
un outil appelé l 'assembleur 1 .
2.2.3
Langage de haut niveau ou évolué
L'étape suivante est venue de la genèse des langages évolués ou langages de haut
niveau. Ces langages se caractérisent principalement par le fait qu'ils sont, contraire-
ment aux deux autres types de langage que nous venons d'aborder, totalement indé-
pendants de l'architecture de la machine et du processeur. Par ailleurs, ils offrent un
pouvoir d'expression plus riche et plus proche de la pensée humaine, rendant ainsi
plus aisée la traduction des algorithmes établis pour résoudre un problème. Ces langages
de fait sont davantage définis par rapport aux besoins d'expression du programmeur
que par rapport aux mécanismes sous-jacents de la machine physique. Ils intègrent
ainsi des structures opératoires semblables à celles des algorithmes telles que les
itérations, les boucles, les conditionnelles.
Ainsi les langages de haut niveau sont plus ou moins spécialisés par rapport à une
classe de problèmes à résoudre : COBOL est destiné aux applications de gestion tandis
que FORTRAN est plutôt orienté vers le domaine du calcul scientifique. D'autres
langages sont plus universels tels que C, C
, Ada, Java ou encore Pascal.
De nos jours, les langages haut niveau sont classés selon plusieurs grandes familles.
Deux familles de langages importants et courants sont la famille des langages dits
procéduraux et la famille des langages dits objets :
- le langage procédural : l'écriture d'un programme est basée sur les notions de procé-
dures et de fonctions, qui représentent les traitements à appliquer aux données du
problème, de manière à aboutir à la solution du problème initial. Les langages C
et Pascal sont deux exemples de langages procéduraux ;
- le langage objet : l'écriture d'un programme est basée sur la notion d'objets, qui
représentent les différentes entités entrant en jeu dans la résolution du problème.
À chacun de ces objets sont attachées des méthodes, qui lorsqu'elles sont acti-
vées, modifient l'état des objets. Les langages Java et Eiffel sont deux exemples
de langages objets.
Les langages évolués étant indépendants de la machine, ils ne peuvent être direc-
tement exécutés par la machine. Un programme écrit en langage haut niveau doit
donc être converti vers son équivalent en langage machine. C'est le rôle du traduc-
teur de langage, qui est spécifique à chaque langage évolué utilisé.
Les traducteurs sont divisés en deux catégories : les compilateur s et les inter-
préteurs .
- un compilateur traduit une fois pour toutes le langage évolué en langage machine
et construit ainsi un programme qualifié de programme objet qui est stocké sur un
support de masse tel qu'un disque ;
++
1. Par abus de langage, le terme assembleur désigne tout à la fois le langage d'assemblage lui-
même et l'outil de traduction.
 
 
Search WWH ::




Custom Search