Les meilleurs codeurs jurent-ils plus, ou est-ce que C fait juste ça aux bons programmeurs ?

Vous êtes-vous déjà retrouvé à regarder un problème de codage délicat et à penser « merde » ?

Si ces pensées se retrouvent dans votre code ou dans les commentaires associés, vous êtes en bonne compagnie. Lorsque l’étudiant de premier cycle Jan Strehmel de l’Institut de technologie de Karlsruhe a analysé le code open source écrit dans le langage de programmation C, il n’a pas manqué d’obscénité. Bien que l’on puisse s’y attendre, la conclusion globale de Strehmel n’est peut-être pas la suivante : la qualité moyenne du code contenant des jurons était nettement supérieure à la qualité moyenne du code qui n’en contenait pas.

« Les résultats sont assez surprenants ! dit Strehmel. Les programmeurs et les scientifiques peuvent avoir beaucoup de questions de suivi. Les chercheurs sont-ils sûrs que certains programmeurs enclins aux grossièretés ne faussent pas les résultats ? Qu’en est-il des autres langages de programmation ? Et, plus important encore, pourquoi les jurons seraient-ils en corrélation avec un code de haute qualité ? Le travail est en cours, mais même sans toutes les réponses, une chose est sûre : Strehmel vient de rédiger une sacrée thèse de licence.

Gros mots, bon code

Le superviseur de Strehmel, le bioinformaticien Alexandros Stamatakis, a commencé à se demander comment les jurons affectent la qualité du code après qu’un membre du laboratoire lui ait montré un graphique de la prévalence des jurons dans diverses versions du code sous-jacent à Linux. Stamatakis s’est rendu compte qu’il avait l’outil parfait pour demander si le blasphème était en corrélation avec la qualité du code. Un programme appelé SoftWipe, développé par son laboratoire, mesure le respect des normes de codage, telles que l’utilisation de contrôles de qualité et une structure de code simple.

Pour enquêter, Strehmel a extrait environ 3 800 exemples de code contenant des jurons, ainsi que 7 600 exemples de code qui n’en contenaient pas, de GitHub. SoftWipe a révélé qu’en moyenne, le code contenant des jurons obtenait environ un demi-point de plus sur son échelle de qualité de code de 10 points que le code qui n’en contenait pas. « Ma réaction a été que c’est cool ! » dit Stamatakis. Il se retrouve fréquemment à jurer sur son propre code, bien qu’il ait tendance à ne pas documenter ses explosions dans le texte. Néanmoins, il se demande si ses malédictions passées peuvent l’aider à progresser dans sa carrière : « Peut-être que cela m’a aidé à devenir professeur titulaire ! » il a dit.

Les psychologues savent depuis longtemps que jurer peut soulager la douleur, augmenter les performances physiques et aider les gens à façonner leur personnalité. En fait, le psychologue cognitif Benjamin Bergen de l’Université de Californie à San Diego, auteur du livre, Qu’est-ce que le F : ce que les jurons révèlent sur notre langage, notre cerveau et nous-mêmes— se fait un devoir de jurer une fois lors de chaque conférence universitaire qu’il enseigne (d’une manière qui ne risque pas d’offenser la classe) car il est prouvé que le blasphème, lorsqu’il est utilisé de manière stratégique, peut augmenter l’engagement des étudiants.

Mais le lien entre les jurons et la qualité du code n’a jamais été examiné auparavant, pour autant que Bergen le sache, et la suggestion qu’il y ait un lien est une « idée très excitante et intéressante », a-t-il déclaré.

Le pouvoir de la personnalité

Les programmeurs qui jurent peuvent être plus émotionnellement impliqués dans leur travail que ceux qui ne le font pas, a émis l’hypothèse de Bergen, ce qui pourrait les amener à produire des produits de meilleure qualité. Alternativement, les programmeurs peuvent inclure des grossièretés pour amuser ou choquer les personnes qui lisent leur code – et s’ils s’attendent à ce que leur code soit lu, ils peuvent y consacrer des efforts supplémentaires. Il est probable que les jurons soient un « symptôme de quelque chose de plus profond », a déclaré Bergen, et il aimerait voir les travaux futurs se concentrer sur la cause sous-jacente de l’association.

L’ingénieur logiciel Greg Wilson, qui travaille maintenant pour la société de biotechnologie Deep Genomics, n’est pas surpris de voir la personnalité des codeurs entrer dans leur travail par leurs choix de mots. Wilson a cofondé une organisation appelée The Carpentries qui enseigne aux scientifiques à devenir de bons codeurs et dit: « Je ne connais personne qui soit doué pour quoi que ce soit qui s’en écarte. »

Wilson est ravi de voir les chercheurs s’attaquer à la question de savoir ce qui rend le code bon, bien que les résultats de Strehmel soient préliminaires. Les codeurs sont en retard par rapport aux autres disciplines en termes d’évaluation de leur propre travail, dit-il. Contrairement aux architectes, qui ont des façons nuancées de décrire pourquoi un bâtiment est beau, les programmeurs « peuvent dire que quelque chose est une solution élégante, puis nous manquons de mots ».

Cependant, il s’inquiète des impacts que le blasphème peut avoir s’il semble destiné aux programmeurs juniors. Le langage agressif a été cité comme un facteur qui décourage les gens, en particulier ceux des groupes marginalisés dans les STEM, de continuer à travailler dans le génie logiciel. Strehmel et Stamatakis ont rencontré des insultes occasionnelles dans le code qu’ils ont analysé, et ils conviennent qu’il y a des lignes que les programmeurs ne devraient pas franchir. À un certain moment, « ça cesse d’être drôle », a déclaré Stamatakis.

Dans l’ensemble, cependant, les chercheurs apprécient leur travail et ils ont une longue liste d’expériences prévues pour étayer les résultats et glaner des informations supplémentaires. Lorsqu’ils seront prêts à publier leur produit final, Wilson attend avec impatience de voir le message d’engagement. Il l’imagine en train de lire « Putain de merde, ça a marché ! »

Saima Sidik est une rédactrice scientifique indépendante basée à Somerville, dans le Massachusetts. Lorsqu’elle n’écrit pas, elle aime faire du vélo dans la ville, apprendre la photographie et pratiquer le taekwondo.

Source-147