RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

A propos de l'utilisation du mot "langage" en informatique

3 mars 2001

On utilise le terme "langage" pour désigner la liste des instructions et les règles d'écriture qui permettent de composer un programme pour ordinateur. Ce langage, c'est le dispositif de commande des automates

Il existe une différence importante entre un tel "langage" et les langages qui nous servent à nous, êtres humains, pour communiquer ou formuler notre pensée. Un texte énoncé ou écrit par un être humain est fait pour être compris par celui qui le reçoit ; en outre, il fait un grand usage des "connotations", ces irradiations de sens secondaires ou dérivés qui entourent chaque mot et confèrent au texte une profondeur, un "plein", bien au delà du sens littéral des mots qu'il contient. 

Par contre un programme n'est pas fait pour être lu et compris : il est incompréhensible, même (après quelques jours) pour celui qui l'a écrit. Il est fait pour être exécuté à la lettre par un automate. Les expressions qu'il contient ont toutes un sens et un seul, car l'automate ne saurait interpréter des connotations et ne peut exécuter que des instructions non ambiguës. 

Il est vrai que les êtres humains, lorsqu'ils doivent préparer une action, doivent utiliser eux-mêmes un langage précis et éviter les connotations ; ainsi la technique, la guerre, la science, utilisent des textes aussi "secs", aussi opératoires qu'un programme informatique. Parfois ils sont presque aussi incompréhensibles : le mathématicien qui relit une de ses démonstrations après quelques mois a autant de mal à la comprendre qu'un programmeur qui relit un de ses programmes. Cependant, même technique, le langage humain est fait pour être entendu par des êtres humains, et non pour être exécuté par des automates ; les mathématiciens eux-mêmes ont recours, pour faciliter la lecture, à des "abus de langage" qui court-circuitent certaines étapes, supposées évidentes, du raisonnement (cf. l'introduction du traité de Bourbaki). Il ne peut en être ainsi d'un programme informatique qui doit être parfaitement explicite pour l'automate.

On a pu, certes, utiliser les mots "grammaire", "syntaxe" et "vocabulaire" pour désigner la structure et les composants d'un langage de programmation ; ces mots sont ici bien à leur place, car les règles formelles de la programmation s'expriment de façon analogue à celles du langage humain. Mais cette analogie n'est pas une identité : parler de "langage" pour désigner le "dispositif de commande des automates", c'est... un abus de langage qui suscite la confusion, notamment dans les réflexions sur l'"intelligence" de l'ordinateur. 

Il est d'ailleurs intéressant d'examiner le rôle que joue, dans l'intelligence humaine, l'interaction entre langage connoté et langage conceptuel