INTRODUCTION

Avant de commencer les grandes théories sur la programmation, voici un petit historique sur les différents langages informatiques, un petit rappel sur les processus de traduction des programmes informatiques...

Le langage de chaque ordinateur est le langage machine où les instructions et les données sont représentées par des combinaisons de bits. Ce langage composé de 0 et de 1 est compliqué et confus. C'est pour cette raison que l'on a créé un langage symbolique appelé assembleur. La combinaison de bits d'une instruction est remplacée par deux à quatre caractères. Ces caractères sont souvent des abréviations anglaises qui décrivent l'instruction (abréviations mnémoniques). Chaque processeur à son propre langage assembleur. Comme ce genre de programmation demande des connaissances exactes du système à microprocesseur, on parle souvent de langage machine.

Pour faciliter encore la programmation, des langages évolués ont étés développés. Ils sont orientés vers le problème à traiter et ne sont donc plus dépendants du microprocesseur employé.

Voici un petit exemple.

Langage
machine
Langage
assembleur
BASIC
 00111110 
 00000001 
 00000010 
 00111110 
 00001111 
 00001100 
 01100010 
 00001111 
 MVI  A, 9H 
 MVI  B, 3H 
 SUB  B     
 CALL 0869H 
 10 PRINT 9-3 

Quel est le langage que vous préférez ? le langage machine ?

Arbre généalogique de quelques langages évolués

 

Nom Signification Domaine d'utilisation
FORTRAN Formula Translation Mathématiques et sciences naturelles
APL A Programming Language Essentiellement problèmes mathématiques
LISP List Processing Language Langage dans le domaine de l'intelligence artificielle
BASIC Beginners All-Purpose Symbolic Instruction Code Problèmes généraux
ALGOL Algorithmic Language Mathématiques et sciences naturelles
COBOL Common Buisness Oriented Language Commercial
LOGO Emprunté au mot grec
LOGOS = la raison
Langage d'apprentissage développé principalement pour les enfants
BCPL Basic Combined
Programming Language
Langage qui connaît un grand succès,
intégrant la puissance de l'assembleur
SIMULA    Langage développé à partir de
l'ALGOL et contenant des nouveaux
concepts
PL/1 Programming Language n°1 Commercial / mathématiques et
sciences naturelles
PROLOG Programming in Logic Langage fortement orienté vers le problème
C Successeur du langage B de
AT&T
Langage utilisé pour développer les
systèmes d'exploitation. Par exemple
UNIX ou MS-Windows.
PASCAL Du célèbre mathématicien
Pascal
Langage structurel polyvalent
ADA Du nom de la première
programmeuse de
l'histoire de l'ordinateur:
Augusta Ada Byron,
collaboratrice de
Ch.Babbage
Langage polyvalent dont le
éveloppement a été commandé par le
ministère américain de la défense
MODULA-2 Modular Language n°2 Langage modulaire développé à
partir du PASCAL

Processus de traduction

Programme source
Programme écrit dans un langage symbolique
 
Programme de traduction
Programme qui traduit la langage symbolique en langage machine
 
Programme objet
Programme en binaire exécutable par le microprocesseur
 
Assembleur
Le mot assembleur désigne aussi bien le langage de programmation que le programme de traduction. Chaque commande en langage assembleur est une expression symbolique qui remplace le code machine.
Interpréteur
To interpret = Interpréter. Lors de l'exécution d'un programme source, l'interpréteur traduit la première instruction en code machine, et s'il n'y a pas d'erreur de syntaxe, l'exécute. Il en fera de même pour les autres instructions jusqu'à la fin du programme. Un interpréteur est comparable à un traducteur qui fait une traduction simultanée.
Le BASIC est un langage interprété.
 
Compilateur
L'ensemble du programme source est traduit en code machine puis mémorisé. les erreurs de syntaxe sont données sous forme d'une liste par l'ordinateur. Les erreurs doivent être corrigées dans le programme source. Le processus de traduction complet doit alors être répété.
Le PASCAL est un langage compilé.

Comparaison

  Coût de
programmation
Connaissance
du processeur
Vitesse
d'exécution
Occupation
mémoire
Assembleur Grand Oui Très rapide ---
Langage
Interprété
Petit Non Lente De 2 à 4 fois la
place mémoire
d'un programme
en assembleur
Langage
compilé
Rapide