Interpréter le code informatique et le fonctionnement du cerveau
Langage et cognition
- Apprendre la programmation informatique est similaire à l’apprentissage d’une nouvelle langue.
- Des neuroscientifiques du MIT ont découvert que la lecture de code informatique n’active pas les régions du cerveau associées au traitement du langage.
- À la place, elle active le réseau à demandes multiples, sollicité lors de tâches cognitives complexes.
Méthodologie de l’étude
- Les chercheurs ont mené l’expérience en utilisant deux langages de programmation : Python et ScratchJr.
- Les participants étaient allongés dans un scanner d’IRMf, observaient des fragments de code et devaient prédire quel comportement ce code produirait.
- Les résultats ont montré une réponse quasi inexistante dans les régions cérébrales liées au langage, tandis que le réseau à demandes multiples était principalement activé.
Effet de l’expérience
- Les chercheurs indiquent qu’il est possible que, chez les personnes qui se consacrent à la programmation, certaines régions cérébrales se spécialisent davantage avec l’accumulation d’expérience.
- Cependant, dans l’étude actuelle, cette spécialisation n’apparaît pas chez les personnes ayant relativement peu d’expérience en programmation.
Conclusion
- Il n’existe pas de réponse claire à la question de savoir s’il faut enseigner le code comme une compétence fondée sur les mathématiques ou sur le langage.
- Les enseignants en informatique doivent développer leur propre approche pour enseigner le code de la manière la plus efficace.
L’avis de GN⁺
- La relation entre le code et le cerveau : cette étude est intéressante en ce qu’elle montre que le code active des régions cérébrales différentes de celles du traitement du langage. Cela peut offrir une nouvelle perspective sur les méthodes d’enseignement de la programmation.
- Approche pédagogique : lorsqu’on enseigne le code, il faut envisager à la fois une approche mathématique et une approche linguistique. Cela ouvre la possibilité de proposer un enseignement adapté à des profils d’apprentissage variés.
- L’importance de l’expérience : le fait que certaines zones du cerveau puissent se spécialiser à mesure que l’expérience en programmation s’accumule souligne l’importance d’un apprentissage de long terme et de l’accumulation d’expérience.
- Le réseau à demandes multiples : puisque ce réseau intervient dans diverses tâches cognitives, le code peut aider non seulement à acquérir une compétence technique, mais aussi à développer des capacités complexes de résolution de problèmes.
- Orientations pour les recherches futures : des études supplémentaires auprès de programmeurs plus expérimentés sont nécessaires, et pourraient fournir des données importantes pour optimiser l’enseignement de la programmation.
1 commentaires
Avis Hacker News
Le lien vers l’article n’était pas fourni, mais il s’agit probablement de cet article scientifique. Les chercheurs ont montré des extraits de code à des programmeurs et leur ont demandé de prédire ce que ferait ce code.
D’après l’article lié, certaines zones spécifiques du cerveau s’activent lors de la lecture de code, et il s’agit de régions impliquées dans la résolution prudente de problèmes peu familiers. Mais cela ne se généralise peut-être pas aux personnes ayant plus de 30 ans d’expérience en programmation.
Lex Fridman a récemment interviewé le linguiste Edward Gibson, et l’entretien évoque le fait que la lecture de code active des parties du cerveau différentes de celles du langage.
Vouloir rendre les langages de programmation semblables aux langues humaines est une erreur de débutant. Un langage de programmation sert surtout à construire une structure, ce qui est différent de la communication.
La différence entre langages de programmation et langues humaines est que la programmation se rapproche davantage de la construction d’une structure. Les langues humaines peuvent servir à communiquer dans des buts très variés.
Il serait plus intéressant de comparer l’activité cérébrale entre la lecture de code et la lecture d’un langage humain formalisé, ou entre la lecture d’un langage formalisé et celle d’un langage informel.
Ce qui m’a le plus aidé à écrire du code propre, c’est d’avoir suivi un cours de rédaction académique. La prédiction du comportement du code ressemble davantage à une tâche de planification qu’à l’usage des centres du langage.
Sur ma chaîne YouTube, je lis du code de projets open source. C’est comparable à une lecture visuelle de la musique. Les chercheurs n’ont presque observé aucune réaction dans les zones du langage.
Je travaille surtout depuis chez moi, j’écoute de la musique et je chante quand je code. En revanche, je ne peux pas chanter pendant que je lis. Quand je code, c’est possible.
Lire du code n’est ni comme lire de la prose ni comme faire des maths. C’est comme résoudre un puzzle. Il faut relier et traduire plusieurs choses en temps réel.
Lire du code, c’est comme regarder la photo d’un engrenage et demander : « l’engrenage A tourne-t-il dans le sens horaire ou antihoraire ? » On a l’impression d’étudier un mécanisme.
Quand je lis du code, je n’entends pas de voix de narrateur dans ma tête.