Les défauts du vocabulaire de l'informatique
suscitent dans l'entreprise de fréquents malentendus. Ici nous
tentons d'éclaircir la relation entre langage naturel, langage théorique et
langage de programmation.
Structure et évolution du
langage naturel
Selon Saussure,
la « langue » est un « système de signes », le signe étant le doublet constitué
d’un signifiant phonétique et d'un signifié conceptuel. Le
terme « langage », lui, associe « langue » et « parole », cette dernière
désignant les aspects physiologiques et acoustiques de l’élocution et de
l’audition.
Saussure estime impossible
de dire lequel, du signifiant ou du signifié, est premier dans le signe. Pour
décrire la formation des signes il utilise une image suggestive (p. 156) : « La
pensée, chaotique de sa nature, est forcée de se préciser en se décomposant. Il
n'y a donc ni matérialisation des pensées, ni spiritualisation des sons, mais
[...] la "pensée-son" implique des divisions et la langue élabore ses unités en
se constituant entre deux masses amorphes. Qu'on se représente l'air en contact
avec une nappe d'eau : si la pression atmosphérique change, la surface de l'eau
se décompose en une série de divisions, c'est-à-dire de vagues ; ce sont ces
ondulations qui donneront une idée de [...] l'accouplement de la pensée avec la
matière phonique ».
Cette intuition puissante
tourne le dos à la conception qui ne verrait dans la langue que l’habillage de
concepts préexistants : la création des signes est à la fois,
inséparablement, création des concepts et de la notation sonore qui
conditionne leur identification, leur recyclage dans le raisonnement ou
l’imaginaire, ainsi que leur communication.
Les structuralistes, soucieux
de mettre à jour les contraintes qui délimitent ce qui peut se dire dans une
langue existante, ne se sont intéressés ni à la création, ni à l’évolution de la
langue que Saussure avait pourtant évoquées : comme ils voulaient souligner les
contraintes qu’impose l'architecture existante, il n'ont pas cru opportun de faire
apparaître les procédés qui permettraient de s’en affranchir ou tout au moins de les
déplacer.
Par ailleurs Saussure n’accorde
pas de place aux connotations, ces liaisons entre les signes qui confèrent
au langage sa puissance suggestive. Du coup, il ne mentionne pas les
associations d’idées qui, appuyées sur le réseau des connotations, sont si
fécondes pour la réflexion et si efficaces pour la communication.
Il nous faut donc (1) libérer la
linguistique du carcan dans lequel les structuralistes l’ont enfermée, et
considérer la création et l’évolution des langues ; (2) enrichir le modèle de
Saussure pour tenir compte des connotations ; (3) considérer le mécanisme des
associations d’idées et son rôle dans la formation de la pensée comme dans la
communication.
On rencontre alors un fait qui
semble contredire Saussure : il arrive, lorsque l’esprit suit le cours des
associations d’idées ou des raisonnements, qu’il identifie un concept pour
lequel il lui faut trouver un nom. Dans ce cas la création du signifié serait
antérieure à celle du signifiant.
Nous n’irons pas plus loin dans
cette analyse qui visait à explorer quelques propriétés du langage que vous et
moi parlons, transmis par des parents qui l’avaient eux-mêmes
reçu de l’histoire de l’humanité. On l’appelle « langage naturel » pour le
distinguer des « langages de programmation » qu’utilise l’informatique.
Langage naturel, langage
théorique, langage de programmation
Il n’est pas innocent
d’utiliser le même mot « langage » pour désigner le « langage naturel » et les
« langages de programmation ». Rien en effet, dans les réflexions de Saussure
comme
dans les remarques qu’elles nous ont suggérées, ne s’applique aux langages de
programmation.
Les informaticiens de
profession connaissent la différence entre le langage de programmation et le
langage naturel. Ils savent que le langage de programmation ne doit pas
comporter de connotations : l’automate ne pouvant pas interpréter les
suggestions, il faut lui donner des consignes parfaitement explicites. La vie
courante a par ailleurs tôt fait de leur enseigner que, dans la conversation
entre êtres humains, l’explicitation parfaite qu’exige la programmation n’est pas de
mise.
Il apparaît qu’il faut
distinguer au moins trois types de langages :
-
1) le langage naturel, connoté,
suggestif, alimente une pensée qui fonctionne par association d’idées ; il est
exploratoire et créatif, mais au risque d’une erreur logique (contradiction
interne) ou d’une inadéquation à l’action.
-
2) le langage théorique, fondé
sur des définitions dont toute connotation doit être écartée, procure la
précision nécessaire à l’action. Aux concepts purs ainsi dégagés il associe des
hypothèses causales.
Nota Bene 1 :
Les mathématiques sont le langage théorique pur ; elles explorent, à partir des
définitions ou axiomes (« what is ») les implications du principe de
non-contradiction ; elles constituent une préparation à l’action en général.
Nota Bene 2 :
Associer la théorie à l’action peut surprendre. Cependant il faut bien, pour
agir, préciser sur quoi l’on va agir et faire des hypothèses sur les causalités
que l’action fera jouer. Le fait que cela soit souvent implicite n’enlève
rien à cette opération ; il est vrai toutefois qu’il faut distinguer la théorie
implicite, à l’œuvre, de la théorie explicite qui seule se prête à la
communication et à la discussion scientifique.
Nota Bene 3:
La théorie, qui ne doit comporter aucune connotation, s’élabore en polémiquant
avec le langage naturel : l'association d’idées n’a aucune valeur dans
l’expression d'une théorie. Cela n’empêche pas les associations d’idées de jouer
un rôle essentiel dans la réflexion qui précède et motive l’élaboration théorique.
Elles sont comme ces échafaudages qui faut ôter après la construction de
l’immeuble, mais sans lesquels on n'aurait pas pu le construire.
Nota Bene 4 :
Les théoriciens attribuent au langage théorique le monopole de la rigueur.
Cependant le bon usage du langage naturel est, dans son ordre, aussi exigeant
que la construction théorique. Il n’est pas facile de bien utiliser la puissance
allusive de la langue. C’est tout l’art de la poésie et ceux qui se
moquent des poètes auraient du mal à égaler le pouvoir suggestif de La
Fontaine :
Un jour, sur
ses longs pieds, allait, je ne sais où,
Le héron au long bec emmanché d’un long cou .
-
3) le langage de programmation
vise à faire faire par l’automate un ensemble bien défini
d’opérations. On est là dans le monde du « how to », du « savoir-faire », de la
mise en pratique. Les contraintes de cohérence logique s’appliquent de façon
impérative (dans le domaine de l’action, le principe de
non-contradiction s’applique absolument), tout comme les contraintes physiques
de l’automate (taille des mémoires, puissance des processeurs, débit des
réseaux). Les données sont définies par des concepts purs, sans connotations,
tout comme dans le langage théorique.
Pour pouvoir formuler les
commandes adressées à l’automate, le langage de programmation fournit une
syntaxe, c’est-à-dire (1) des règles d’écriture permettant de distinguer
programme et commentaire, donnée et fonction, divers types parmi les données, et
aussi (2) des « formes spéciales » conventionnelles et des fonctions
préprogrammées. Il ne fournit pas – mais il est prêt à les accueillir – les tables
de codage qui associent à chaque donnée sa définition selon le langage
conceptuel (pur) de l’utilisateur.
Un langage théorique est plus
pauvre que le langage naturel – il est rare que son vocabulaire comporte plus de
quelques dizaines de termes – mais il va plus loin dans l’exploration des
relations entre concepts. Par ailleurs son formalisme garde peu de traces des
intentions qui ont suscité la construction de la théorie, ce qui déroute souvent
l’intuition du non expert.
Un programme informatique est
encore plus éloigné de cette intuition parce qu’aux contraintes purement
logiques, que l’on comprend aisément après un apprentissage, il ajoute les
conventions résultant des contraintes de l’automate et dont la
compréhension demande une expertise peu courante.
Ainsi, le langage naturel
facilite la communication entre les êtres humains grâce aux allusions et
suggestions qui lui permettent, fût-ce au prix d’une imprécision, de transmettre plus d’information que n’en contiennent ses termes pris au pied de la lettre. Le
langage théorique par contre est fait pour penser l’action dont il
désigne les objets avec précision ; mais étant peu suggestif il se prête plus à
la collaboration dans l’action qu’à la communication avec ceux qui sont loin de
l’action. Le langage de programmation est, lui, adapté pour commander l’automate
qui va assister l’action humaine. Il n’est pas conçu pour être lu ni compris par un être
humain, mais pour être pratiquement efficace.
Danger des faux amis
Les disciplines intellectuelles
mettent beaucoup de temps à mûrir, à construire leur vocabulaire et leurs méthodes.
L’informatique, avec à peine plus de cinquante ans, est une discipline très
jeune. Les spécialistes passionnés qui l’ont construite ont dû faire flèche de
tout bois : peu leur importait le choix des
mots car, comme le disait Hilbert, une fois que l’on sait de quoi l’on parle peu
importe si l’on dit « chaise » et « table » au lieu de « droite » et « point ».
Par ailleurs ce langage spécial procurait à cette corporation naissante une
barrière à l’entrée et un signe de reconnaissance, ce qui est apprécié par ceux
qui souhaitent protéger une corporation plutôt que de l’ouvrir à
la coopération intellectuelle avec d’autres.
Il en est résulté la pollution
du vocabulaire de l’informatique par une foule de faux amis parmi lesquels
figure le mot « langage » lui-même.
Ainsi le mot « logique »
désigne en informatique non pas les règles formelles dont le respect garantit
l’exactitude d’un raisonnement, mais les règles syntaxiques auxquelles doit se
conformer tout langage de programmation. Le mot « sémantique », qui désigne en
linguistique le sens d’un texte pour le distinguer de sa forme, désigne en
informatique l’interprétation d’un langage sous forme de structures
mathématiques (typage des données etc.)
La normalisation élague les
synonymes, élimine les homonymes et clarifie les concepts. Mais parfois elle
grave de faux amis dans le marbre. Celui qui s'efforce d'améliorer le
vocabulaire se fait alors reprocher de s'écarter du langage « standard » ; mais
que faire si ce langage est dans l'entreprise source de contresens répétés ?
Pour quelques mots bien bâtis, comme « informatique » ou « logiciel », combien
de monstres a confortés la normalisation ? Quelle qualité linguistique peuvent
d'ailleurs avoir des compromis établis par des comités où s'affrontent les
intérêts économiques des industriels ? N'est-il pas trop courant que l'on
prétende imposer, sous prétexte de « rigueur », le particularisme d'un jargon
professionnel ?
L’un des faux amis les plus
révélateurs est le mot « donnée », d’utilisation si courante. La « donnée » est
la matière première de l’informatique, qu’elle soit saisie par un opérateur,
extraite d’un fichier ou calculée. Ce sont les données qui remplissent les
mémoires, que les réseaux transportent et que traitent les processeurs.
Mais les connotations qui
entourent le mot « donnée » suggèrent
qu’elles sont données par la nature, qu’elles reflètent la réalité même
et qu’il n’y a rien à chercher au-delà. Or la donnée, avant d’être
saisie dans un fichier, résulte d’un choix. Le fichier client contient
les données sur les clients de l’entreprise. Il a fallu choisir, parmi les
aspects du client, ceux qui méritent d’être notés ; puis il a fallu définir les
attributs qui transcriraient ces aspects ; enfin, il a fallu observer ces
attributs. La
donnée résulte d’une observation (ou mesure), elle-même
conditionnée par une définition découlant d’un choix. Si elle est
donnée par l'entreprise à l'informatique, elle n'a pas été donnée
par la nature à l'entreprise.
Ayant choisi ce que l’on voulait observer, on doit se demander si ce choix a été le bon.
Alors se pose la question de la pertinence : la définition doit répondre aux
besoins du raisonnement et de l’action, ou – pour revenir à notre exemple – on
ne doit observer sur le client ni plus ni moins que les données nécessaires pour
gérer la relation avec lui.
* *
On est ici tout près de
Saussure : alors que le « signe » est un doublet formé d’un concept et d’un son,
la « donnée » est un doublet formé d’une définition et d’une mesure. La
sémantique de la donnée réside dans sa définition ; sa physique
réside dans la mesure que fournit l'observation et que l’informatique enregistre. La sémantique de la donnée
est tout entière du côté du professionnel qui va se faire assister par
l’informatique, car lui seul peut définir ses priorités et indiquer les
observations qui sont nécessaires. La qualité de cette sémantique conditionne
celle de l'informatique ; c'est dans la maîtrise de cette qualité, dans la
construction du langage de l'entreprise, que réside le problème fondamental pour
l'informatisation.
Il saute aux yeux en effet que si la
sémantique du métier est mal bâtie, si l’on y code n’importe
comment, l’informatisation de l’entreprise sera ratée quelle que soit la qualité
formelle des programmes informatiques. Or dans beaucoup d’entreprises les
identifiants sont de mauvaise qualité, les référentiels mal conçus, les données
de référence mal gérées : la plupart des défauts des systèmes d'information ont
leur origine non dans l'informatique elle-même, mais dans le manque de rigueur sémantique
des maîtrises d'ouvrage.
Ces défauts-là risquent
d’échapper à l’attention des informaticiens. Ayant réservé le mot « sémantique »
aux composantes abstraite, opérationnelle, dénotationnelle et axiomatique de
leur « sémantique formelle », il ne leur reste plus pour désigner la sémantique du métier
que l’expression « sémantique informelle », entachée de connotations
quelque peu
péjoratives comme « floue », « mal définie », « peu rigoureuse » etc. Cela
détourne l’entreprise de l’effort de rigueur nécessaire pour construire
son référentiel, comme des méthodes qu’il faut utiliser pour cela.
Cette cloison entre l’informatique
et la sémantique de l'entreprise interdit en pratique de penser l’automatisation,
d’articuler convenablement l’automate aux processus de production. Ainsi on ne saura pas négocier ni même définir la perte en
information (au sens de
Shannon) qui est nécessaire pour obtenir un gain en
signification, alors que cette démarche constitue le cœur même de la
publication
des statistiques. Cela rendra pratiquement impossible la conception de tableaux de
bord judicieusement sélectifs.
A l’extrême les données sont
considérées comme un minerai dont seule compte la volumétrie mesurée en nombre
d'octets. Toutes sont traitées pêle-mêle, de la même façon, qu’il s’agisse
d’identifiants ou d’attributs, de données saisies, de données intermédiaires ou
de résultats – alors que pour la sémantique de l’entreprise les identifiants
doivent être parfaits et les données saisies doivent être vérifiées. Si les
informaticiens ont explicité pour les échanges de données des critères de
qualité comme les propriétés ACID (atomicité, cohérence, isolation, durabilité),
rares sont les entreprises qui ont mis en place une
administration des données garantissant la qualité de leur sémantique.
La négligence envers la
sémantique de l’entreprise est d’autant plus dommageable que l’assistance par
l’automate s’est étendue à tous les processus de production et s’articule
désormais de façon
intime avec le travail des êtres humains. Le succès de l’informatique la
confronte à un défi intellectuel : maîtriser la sémantique de
l’entreprise, définir judicieusement l’articulation entre l’automate et l’être humain, obtenir
des stratèges une validation authentique des spécifications et modèles du
système d'information. Cela
suppose une professionnalisation de la maîtrise d'ouvrage, et un dialogue entre professionnels de l’informatique et
professionnels de la maîtrise d’ouvrage.
* *
L’informatique, grande aventure
intellectuelle de notre époque, a attiré quelques-uns des esprits les plus fins
et les mieux équilibrés. Ceux-là ne sont nullement gênés par un vocabulaire mal
conçu : ils savent ce que les mots désignent et ne sont pas dupes
des connotations. Ils sont par ailleurs assez ouverts, curieux et généreux pour
s’intéresser à l’entreprise et définir intelligemment sa
sémantique. Il existe aussi parmi les maîtrises d’ouvrage, plus rarement il est
vrai, des personnes qui savent ce que l’on peut attendre de l’automate et comprennent
ses contraintes.
Ces diverses personnes savent éviter
les pièges et n’ont donc pas besoin de garde-fou. Mais quand on pense à
l’organisation de l’entreprise, à son langage, il faut considérer non pas
seulement ces personnes à l'intelligence déliée, mais l’individu
moyen dont la compréhension est embrouillée par les faux amis ; et les dirigeants,
qui ne sont pas des experts mais doivent savoir prendre des
décisions justes. Il faut considérer enfin les personnes intelligentes elles-mêmes, à qui on doit
épargner le temps et l’effort nécessaires, aussi intelligentes
soient-elles, pour se repérer dans un univers confus.
On doit aussi – car dans
l’entreprise on ne vit pas parmi les anges du Paradis ! – ôter aux pervers les
armes que leur procure la confusion du vocabulaire et des idées, ainsi que les
espaces trop propices qu’elle offre à leurs jeux de pouvoir.
« Man muß stets statt „Punkt“, „Gerade“, „Ebene“ auch „Tisch“, „Stuhl“, „Bierseidel“
sagen können » (« Il faut toujours pouvoir dire "table", "chaise" et "bock
de bière" à la place de "point", "droite" et "plan" », David Hilbert,
1862-1943).
|