Les langages de programmation :
Il existe un seul langage de programmation compréhensible par
les ordinateurs, c'est le langage machine, constitué uniquement
de 1 et de 0 (en fait des tensions éléctriques de +5V et
0V -voire moins dans les ordinateurs les plus modernes). Un ensemble de
1 et de 0 peut représenter pour la machine deux choses, soit une
commande, soit des données à traiter selon la commande.
Les premiers ordinateurs étaient programmés et utilisés
à l'aide de cartes perforées. Cela était trés
compliqué et trés lent, par exemple rentrer la valeur 25
demande en langage machine d'écrire : 11001 , pour 345, il
faut écrire : 101011001, en fait on traduit de base 10 (décimale)
en base 2 (binaire). Pour se simplifier la tâche, les informaticiens
ont écrit un programme de traduction en langage machine que l'on
appelle ASSEMBLEUR, qui représente aujourd'hui le seul langage
réellement proche de la machine utilisée. L'ASSEMBLEUR
utilise une base numérique intermédiaire pour communiquer
avec la machine, c'est la base 16 (héxadécimale) -nous
verrons tout cela ultèrieurement-. Comme c'est le langage le
plus proche de celui de la machine, l'assembleur est appellé
langage de bas niveau. Cependant, l'utilisation de l'assembleur
reste assez fastidieuse, aussi les informaticiens ont écrit des
langages plus proches du langage humain pour faciliter la programmation,
ce sont les langages de haut niveau : dont le BASIC,le C, le PASCAL, le
FORTH, etc...
L'inconvénient des langages de haut niveau, c'est qu'ils
utilisent des "traducteurs", et que les traducteurs ne font
pas toujours les phrases les plus courtes que l'on aurait pu faire
pour se faire comprendre. Ce qui fait qu'un programme écrit
en langage de haut niveau est toujours plus lent que le même programme
écrit en assembleur (sauf à le faire exprès). C'est
pour cela que l'assembleur est toujours utilisé. Les langages
de programmation de haut niveau se divisent en deux groupes : les langages
INTERPRÈTES (ex: Basic), et les langages COMPILÉS (ex: C).Les
langages compilés sont traduits en entier une seule fois, et convertisen
langage machine et sauvegardés sous cette forme. Les langages interprétés
sont traduits au vol en langage machine, et chaque ligne est traduite,
puis exécutée, avant de traiter la suivante. Les langages
compilés ont le défaut que l'on ne peut pas les exécuter
directement, et il faut recompiler à chaque modification du programme,
par contre, cela fait, ils sont d'une très grande rapidité
d'exécution. Les langages interprétes sont exécutables
directement, mais sont en contrepartie beaucoup plus lents à l'exécution.
Le Forth est quand à lui un langage atypique , qui est alternativement
interprété et compilé, et qui est aussi alternativement
de haut et de bas niveau. C'est un langage struturé (pas de
GOTO), basé sur l'utilisation d'une pile (comme les piles
d'assiettes), sa syntaxe utilise la notation polonaise inversée
(comme les calculatrices HP), et qui contient son propre assembleur.
|