Que se passe-t-il dans la tête d’un programmeur lorsqu’il écrit du code? Voilà la question posée par une équipe de chercheurs allemands; pour obtenir une réponse, ils ont utilisé des technologies d’imagerie médicale provenant du domaine des neurosciences et ont cherché à savoir quelles zones du cerveau étaient activées lorsque les programmeurs lisaient et comprenaient des programmes informatiques. Le résultat? La programmation est similaire au langage parlé. Les régions les plus actives du cerveau seraient en effet celles qui servent au traitement du langage naturel.
Les scientifiques ont maintenant publié leurs résultats dans Communications of the ACM. Les conclusions des travaux, disent-ils, pourraient avoir d’importants impacts sur la conception des langages de programmation, sur l’enseignement de la programmation, ou même répondre à des questions fondamentales comme ce qui constitue un code simple ou complexe.
« Notre objectif était de développer une approche complètement nouvelle pour mieux comprendre les processus cognitifs impliqués dans la programmation », a indiqué le Dre Sven Apel, de l’Université Saarland. En compagnie de ses collègues Janet Siegmund et André Brechmann, le Dr Apel a réussi à rendre l’activité cérébrale des programmeurs visible lorsque ceux-ci rédigent quelques lignes de code.
Dans le cadre de l’étude, l’équipe s’est appuyée sur la méthode de la soustraction, qui a fait ses preuves en neuroscience: selon celle-ci, les sujets travaillent d’abord sur une tâche à l’intérieur d’un appareil de résonance magnétique, dont la solution consistait à comprendre un extrait du programme qui gouverne le fonctionnement de l’appareil en question. Après une courte période de repos, ils ont dû passer un bout de code au crible pour tenter d’y détecter des erreurs de syntaxe, ce qui est routinier pour les programmeurs, et ne faisait donc pas appel à leur compréhension.
Cette procédure a été répétée à plusieurs reprises. Par la suite, des images de l’activité cérébrale survenue pendant le traitement de la tâche routinière, ce qui ne laissait que les moments où les régions cérébrales activées étaient celles liées au processus de compréhension des programmes.
« À notre grande surprise, nous n’avons pas pu observer d’activité ressemblant à celles de la pensée mathématique ou logique », on indiqué les chercheurs. « Nos travaux portent à croire que la compréhension du langage joue un rôle central dans la programmation. Le chercheur en informatique néerlandais Edsger W. Dijkstra avait déjà exprimé cette hypothèse dans les années 1980 », a soutenu le Dr Apel.