
Suggérant que la programmation requiert plus d'aptitudes en langues qu'en maths
Que se passe-t-il dans la tête des programmeurs lorsqu'ils sont lancés dans leur exercice de mise sur pied de logiciels ? En s’appuyant sur des techniques d’imagerie issues des neurosciences, il est possible de déterminer quelles zones du cerveau sont en fonctionnement pour des activités données. C’est l’approche qu’a adoptée une équipe de chercheurs allemands pour savoir lesquelles le sont lors de la lecture et de la compréhension de programmes informatiques. Résultat : les régions cérébrales les plus actives au moment de la réalisation de ces activités sont celles qui sont également pertinentes dans le traitement du langage naturel.
En 1980 déjà, les travaux du célèbre informaticien néerlandais Edsger Dijkstra l’avaient mis en avant : la compréhension du langage naturel joue un rôle central dans la programmation informatique. En d’autres termes, la filière (programmation informatique) fait plus appel à des qualités linguistiques qu’à d’autres, d’après ce qui ressort de cette publication de recherche.
« À notre surprise, nous n'avons observé aucune activité dans le sens du raisonnement mathématique ou logique, ce qui serait conforme à la perspective selon laquelle la programmation est un processus formel, logique et mathématique. Le résultat le plus frappant est une activation de certaines zones de l’hémisphère gauche du cerveau lors des activités de compréhension de programmes », indiquent les chercheurs.
L’équipe de chercheurs s’est appuyée sur la méthode de soustraction qui a fait ses preuves en neurosciences. Tout en étant exposés à un dispositif d’imagerie par résonance magnétique fonctionnelle, les sujets ont travaillé sur une première tâche qui consistait en la compréhension d’un extrait de code informatique. Après une courte période de repos, on leur a demandé de vérifier un extrait de code pour détecter de simples erreurs de syntaxe – une tâche de routine pour les travailleurs de la filière programmation informatique. La procédure a fait l’objet de plusieurs répétitions. Par la suite, les images de l'activité cérébrale pendant le traitement de la tâche de routine ont été soustraites de celles du test de compréhension. Ne restaient alors que les régions du cerveau utilisées en particulier dans le cadre de la compréhension des programmes.
Si l’étude retient l’attention, c’est parce qu’elle intervient dans un contexte global où l’on ne dissocie pas la programmation informatique des aptitudes nécessaires en maths pour être un acteur de la filière. Elle fait suite à une autre publication de recherche qui, pour sa part, dit : doué en apprentissage de langues donc doué en programmation informatique.
La série de conclusions de l’étude en question est le résultat d’une batterie de tests centrés autour du langage Python. Les chercheurs y ont soumis une trentaine d’adultes n’ayant jamais appris à coder, ce, pour évaluer leurs compétences cognitives sur divers axes (compétences mathématiques, linguistiques, attention, résolution de problèmes, mémoire...). Il en est ressorti que ceux qui ont appris Python le plus rapidement et avec une grande précision sont ceux qui possèdent un mélange de fortes capacités de résolution de problèmes et d’apprentissage de langues étrangères. Dans les chiffres de la part de compétences nécessaires à l’apprentissage du langage Python et publiés par l’équipe de chercheurs, les mathématiques expliquent seulement 2 % de la capacité d’apprentissage.
« C'est parce que l’écriture du code informatique implique également l'apprentissage d'une seconde langue, la capacité d'apprendre le vocabulaire et la grammaire de cette langue et la façon dont ils travaillent ensemble pour communiquer des idées et des intentions. La recherche décrite ici est motivée par un changement de paradigme conceptuel, à savoir que l'apprentissage des langages de programmation modernes ressemble à l'apprentissage d'une langue naturelle, comme le français ou le chinois, à l'âge adulte. De façon plus précise, nous soutenons que la recherche sur les bases neurocognitives de l'aptitude à la programmation a largement omis le fait que les langages de programmation informatique sont conçus pour ressembler à la structure de communication du programmeur (les langages humains) », précise cette équipe de recherche. Dans le cadre de cette étude, Python avait été choisi pour sa ressemblance avec la langue anglaise, ce qui peut expliquer les résultats obtenus.
Du coup, doué en apprentissages de langues donc doué en apprentissage de langages de programmation serait plus admissible au vu des contenus de la publication, mais il y a que les chercheurs généralisent leurs résultats à la programmation informatique au sens le plus large : « De nombreux obstacles à l'entrée dans la filière de la programmation informatique, partant des prérequis aux stéréotypes sur ce à quoi ressemble un bon programmeur, sont centrés sur l'idée que la programmation repose fortement sur les aptitudes en mathématiques, mais cette idée ne se dégage pas de nos données. »
Les conclusions mises en avant par ces équipes de recherche sont à confronter avec celles d’intervenants de la filière pour lesquels programmer c’est mettre en oeuvre des concepts algorithmiques pour la résolution de problèmes dans divers domaines. C’est de la capacité d’abstraction de l’intervenant à user d’outils mathématiques plus ou moins avancés pour proposer des solutions informatiques dont on parle ici. Dans le processus de l’implémentation de la solution, la connaissance d’une langue, en l’occurrence l’anglais, peut être d’une précieuse aide, notamment, pour la maîtrise d’outils comme les EDI.
Source : étude
Et vous ?



Voir aussi :






Vous avez lu gratuitement 6 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.