LE FORTH

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.

retour HautDePage