Les algorithmes d’analyse sémantique du langage naturel sont de plus en plus efficaces, permettant d’extraire d’un texte des caractéristiques telles que son sentiment (neutre, positif ou négatif), le genre de l’auteur ou encore sa sensibilité politique. Écrit autrement, ce qu’on écrit et notre style marquent implicitement notre identité. Force est de constater que les langages formels, tels que le langage informatique, n’échappent pas à ce raisonnement. C’est en tout cas ce que montrent plusieurs équipes américaines depuis deux ans [1] en étudiant des codes open source sur le service d’hébergement de programmes informatiques Github, ou lors de compétitions de type hackathon. Une expression tend à s’imposer : « Montre-moi ton code, je te dirai qui tu es. »

À l’instar d’un langage naturel, l’écriture d’un code informatique suit des règles grammaticales et orthographiques strictes qui lui assurent d’être compris par l’ordinateur. Les développeurs possèdent également de bonnes pratiques d’écriture de code qui rendent en général le programme plus lisible, plus durable, car plus facile à modifier, mais aussi moins sensible aux risques de bugs. Cela passe, par exemple, par des noms de variables qui ont du sens ou encore des commentaires pour informer certaines logiques du code. A priori, il semble difficile de posséder un style dans l’écriture d’un code, contrairement à l’élaboration d’un roman, tant la liberté du développeur paraît limitée. Et pourtant, les indicateurs sont nombreux pour soutenir cette affirmation.

Un art créatif sous-estimé

Même si les bonnes pratiques se généralisent, les développeurs conservent leur style propre à leurs expériences. La manière de nommer des variables, de les initialiser ou encore de les utiliser dans des opérations logiques diffère parmi les développeurs. Certains choisiront des noms de variables volontairement longs et très explicites, alors que d’autres écriront des commentaires avec des styles d’écriture similaires d’un code à l’autre. Certains choisiront de limiter les espaces entre les termes du code afin de minimiser sa taille et d’autres articuleront leurs boucles répétitives ou incrémentales selon un certain schéma systématique. À un niveau plus élevé s’organise la structure globale du programme, qui contient souvent plusieurs fichiers de code. Là encore, la manière d’organiser et de lier ces codes par des règles d’abstraction propres à la programmation orientée objet change d’un développeur à l’autre.

« Je code qui je suis » prend tout son sens et nous fait entrer dans une réflexion encore plus complexe sur les origines des biais algorithmiques. On sait que ces biais proviennent de l’algorithme lui-même et de la data sur laquelle il est calibré ou entraîné. Mais une question se pose : nos biais cognitifs peuvent-ils biaiser notre code ? Une chose est certaine, la programmation informatique est un art créatif encore sous-estimé où les qualités d’expression écrite et d’esprit de synthèse sont fondamentales !


Publié dans Le Point

Laisser un commentaire