Dans certains domaines, et en particulier celui du logiciel (on ne parle pas ici d'informatique, cf. LA DATA), l'impérialisme anglais a fait son chemin. La croyance répandue est qu'en écrivant le code et les commentaires intégralement en anglais, non seulement ceux-ci deviendraient universellement compréhensibles par tous les codeurs, mais le résultat obtenu serait intrinsèquement meilleur, car non pollué par les affres de sa langue maternelle qui est plus éloignée des langages de programmation.

Cette foi en l'anglais comme seule langue de communication est une partie du credo de ceux qui ont élevé le codage à un niveau religieux, et, forcément, qui rentrent dans l'évangélisation. Ceci n'est pas un problème en tant que tel, le monde du logiciel (et encore plus côté matériel) est peuplé de fanatiques qui s'entrecroisent et s'invectivent au nom d'une rationalité qui a été foulée des doigts boudinés depuis bien longtemps, et remplacée le plus souvent par du FUD (qui n'est malheureusement pas une affordance trompeuse). Revenons au sujet.

Un programme informatique est une œuvre littéraire triple : elle parle d'un sujet dit "métier" à une double audience, d'un côté des programmeurs et de l'autre des interpréteurs de code (qu'ils soient compilateurs ou machines virtuelles)(et, ce, sans aller jusqu'à la programmation lettrée au sens de Knuth). On peut sortir de la réflexion les interpréteurs de code : ils ont leur propre langage (C, BASIC, Logo, Java, JavaScript, Brainfuck, Ladder, SCXML... : à chaque jour son langage), qui n'est pas l'anglais.

Rentrons dans le sujet par le "métier". Imaginons l'écriture d'un programme pour l'assistance à l'arbitrage de l'escrime : le français est la langue officielle au niveau international, et au niveau national, on utilise une langue locale. Prenons le judo : le japonais est la langue officielle au niveau international et très souvent au niveau national, en utilisant une transcription romane pour l'écrit. Prenons une autre discipline sportive : le droit. En France, le droit n'est ni de type romano-germanique ni de type common law. Dans ce petit éventail d'exemples, il n'y a rien de naturel, rien d'évident à imposer une traduction vers l'anglais. Celle-ci pénalise deux publics : ceux qui connaissent le "métier" n'auront de cesse de chercher le terme d'origine, et ceux le connaissant peu se verront freinés dans leur acquisition de connaissance par cet intermédiaire qui les coupe des références. On peut d'ailleurs considérer que ces traductions du "métier" sont un facteur primaire de dette technique.

Venons-en à la communication entre programmeurs : on se plait volontiers à penser un ensemble homogène de coders / doers / makers où tout le monde va se comprendre intuitivement parce que c'est de l'informatique ma bonne dame. Comment imaginer une homogénéité dans une population qui ne cesse de rejeter l'informatique au profit du codage et des guerres de clocher (cf. supra) ? Une population qui refuse de conceptualiser et ne veut voir que des outils ?

En supposant que l'on souhaite réellement transmettre de la connaissance à ses collègues codeurs, et pas juste les laisser avec du code destiné aux machines, que fait-on quand on n'a pas la certitude que l'autre est sur la même longueur d'onde ? Va-t-on chercher à être plus explicite, ou au contraire, va-t-on rajouter une surcouche sur le message que l'on souhaite passer ? Dans une langue que l'on va moins maîtriser ? Dans les faits, c'est le deuxième cas qui se produit le plus souvent. Dans combien de programmes dont aucun non-francophone ne lira jamais le code, ces écrits ne sont compréhensibles que par une traduction mot à mot ? Et quand bien même, quand les codeurs ne font pas la différence entre une stack et un heap, entre une layer et un module, entre un service et une API, quand les mots sont vidés de leur sens pour ne plus être que les étiquettes composant la folksonomie d'une chapelle, alors cet anglais forcé n'est plus que le clou fermant le cercueil de la transmission de connaissance.


Vous pouvez trouver le reste de la série sous l'article d'introduction.