Dis moi comment tu codes, et je te dirai qui tu es

Crédit Géraldine Aresteanu

A la manière d’un langage naturel, le langage de programmation informatique est soumis à de très strictes conventions, plus rigoureuses encore que celles régissant les pronoms et les traumatisantes déclinaisons allemandes…

A ce titre, il pourrait donc sembler logique que le code se soit affranchi de la houleuse question des genres. Hommes, femmes, cis genres, ou non-binaires, nous serions tous égaux face au code et à ses règles (binaires justement !). Avec leur suite de 1 et 0, elles permettraient de gommer toutes distinctions, affectations genrées ou « tics » de langage liés à la nationalité.

Et pourtant…

Aurélie Jean, Docteur en sciences, numéricienne, et CEO de In Silico Veritas, agence de conseil analytique et numérique fondée en 2016 à New York, s’est penchée avec nous sur la question…

Est-il possible de déterminer le genre d’une personne à la seule lecture de son code ? En d’autres termes, la proposition « Dis-moi comment tu codes, et je te dirai qui tu es » est-elle correcte ?

C’est une excellente question ! J’ai toujours pensé que le code, en tant que langage même formel, devrait être davantage rapproché des langages naturels tels que l’Anglais ou le Français. Le code a une grammaire (sémantique), une orthographe (syntaxe) et une signification propre à son contenu. A l’image d’un texte, on peut très bien imaginer appliquer les méthodes linguistiques du langage naturel à un code. Cela me parait plutôt juste de dire “je code qui je suis” et le genre fait partie de qui je suis. Une étude récente[1] va justement dans ce sens, j’étais excitée à l’idée d’avoir à présent une étude sur laquelle m’appuyer ! Il y a même des chercheurs qui étudient la désanonymisation de l’exécutable créé après compilation[2]. En d’autres termes ils étudient comment on est capable de trouver l’auteur d’un programme informatique à partir de l’exécutable compilé.

Quelles sont les points de différences ? Comment les expliquez-vous ?

N’ayant pas étudié ce point je ne peux pas statuer sur les différences entre hommes et femmes sur l’écriture d’un code. Ce que je peux dire c’est que nous n’écrivons pas les codes de la même manière. J’ai travaillé et dirigé des développeurs hommes, femmes, Asiatiques, Américains, Français, Hispanophones, de 19 ans à 42 ans. Je dois admettre que nos origines, et qui nous sommes impactent notre manière d’écrire, notre manière de s’exprimer en règle générale ! Le code est aussi fortement logique et nous savons que même si la logique mathématique est universelle la logique de communication est différente selon les cultures. Cela étant dit, il est normal de voir dans le code qui est un mélange de logique analytique et de logique de communication, un contenu qui varie en fonction des auteurs.

Faut-il tendre vers le gommage de ces différences pour tendre vers un langage plus “universel” ?

Je ne sais pas. Je ne suis pas certaine que je souhaite avoir un code dans lequel aucune marque personnelle n’est présente. De la même manière je ne souhaite pas avoir une société dans laquelle aucune identité ou biais n’est présent. Nos différences font notre richesse. Certes, nous devons éviter l’introduction et la propagation de biais discriminatoires qui sont punissables par la loi, mais non ne devons pas selon moi éliminer tous les biais. Avoir des biais de perception c’est aussi qui nous sommes. J’ai du mal à imaginer une société dans laquelle tous les individus verraient le monde de la même manière, ce serait d’un ennui à mourir … (rires) !

[1] https://www.wired.com/story/machine-learning-identify-anonymous-code/

[2] When Coding Style Survives Compilation: De-anonymizing Programmers from Executable Binaries by A. Caliskan et. al., 2018 Network and Distributed System Security Symposium