FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment la programmation affecte votre cerveau :3 grandes vérités selon la science

C'est vrai :les programmeurs pensent différemment des autres.

Cela ne veut pas dire que les programmeurs sont nécessairement plus intelligents, plus logiques ou plus rationnels que tout le monde, comme on dit communément. Mais les scientifiques ont récemment commencé à étudier le cerveau des programmeurs et sont parvenus à des conclusions intéressantes.

Tout comme l'art peut façonner votre esprit de diverses manières, la programmation informatique affecte également votre cerveau et votre façon de penser, peut-être d'une manière à laquelle vous ne vous attendiez peut-être pas.

1. Le codage façonne vos modèles mentaux

Le langage de programmation que vous apprenez en premier est-il important ? Oui !

Cela semble un peu injuste, n'est-ce pas ? Après tout, la plupart d'entre nous découvrent la programmation à l'école et nous n'avons pas le choix du langage qui nous est imposé. J'ai commencé avec C. Ceux qui sont plus âgés que moi ont probablement commencé avec FORTRAN, COBOL ou BASIC. Quant à vous les nouveaux ? Vous avez probablement commencé sur Java ou Python.

Cela ne fait aucun doute :la conception d'un langage de programmation façonne votre façon de penser. Edsger Dijkstra, l'un des informaticiens les plus influents de l'histoire, le savait lorsqu'il a déclaré :

"Les outils que nous utilisons ont une influence profonde (et sournoise) sur nos habitudes de pensée et, par conséquent, sur nos capacités de réflexion."

Il a ensuite poursuivi en disant :

"L'utilisation de COBOL paralyse l'esprit ; son enseignement doit donc être considéré comme une infraction pénale."

Et :

"Il est pratiquement impossible d'enseigner une bonne programmation à des étudiants qui ont déjà été exposés au BASIC :en tant que programmeurs potentiels, ils sont mentalement mutilés au-delà de tout espoir de régénération."

Aïe.

Dans un sens, tous les langages de programmation sont également capables en ce sens qu'ils sont tous Turing-complets. Mais dans un autre sens, la maîtrise d'une langue peut mener à la ruine dans une autre langue. Les programmeurs Java et les programmeurs Python sont deux bêtes différentes qui abordent le codage de deux manières complètement différentes.

En d'autres termes, les paradigmes et les idiomes de votre premier langage de programmation influencent et dictent même votre façon de penser les structures de données, les algorithmes, etc.

À tel point, en fait, qu'il est en fait possible de prendre du code anonymisé et de déterminer qui l'a écrit en se basant uniquement sur la manière dont la tâche a été abordée et sur la manière dont le code a été écrit. Plus la tâche est difficile, plus il est facile de "désanonymiser".

Voir cet article sur la stylométrie de code [No Longer Available] et cette transcription de conférence sur la stylométrie de code :

"Les programmeurs peuvent obscurcir leurs noms de variables ou de fonctions, mais pas les structures qu'ils préfèrent inconsciemment utiliser ou leurs opérateurs d'incrémentation préférés."

En anglais, nous avons un proverbe qui résume cela d'une manière facile à comprendre :"Quand tout ce que vous avez est un marteau, tout ressemble à un clou." De même, une fois que vous avez appris à programmer d'une certaine manière, il est tentant de penser à tous les problèmes de cette manière.

Alors, lors du choix d'un langage de programmation, soyez malin et soyez prudent !

2. La programmation aide à renforcer la santé cérébrale

Les gens disent souvent que le cerveau est comme un muscle et que vous devez l'exercer si vous voulez rester vif. Est-ce vraiment vrai ? Et si oui, la programmation compte-t-elle suffisamment comme un exercice mental pour avoir un impact sur la santé du cerveau ?

Une méta-étude de 1991 a examiné "les effets de la programmation informatique sur les résultats cognitifs" et a constaté que les étudiants ayant une expérience en programmation informatique obtenaient 16 points centiles de plus aux tests de capacité cognitive que les étudiants sans.

Une étude plus importante en 1999 a révélé et confirmé que "les activités intellectuellement engageantes servent à protéger les individus contre le déclin [cognitif]", mais a également noté qu'il est possible que le déclin cognitif puisse conduire à une participation moindre à des activités intellectuellement engageantes.

Une étude encore plus importante en 2009 est arrivée à une conclusion similaire, suggérant que "les personnes qui se livrent à des activités de stimulation cérébrale plus tard peuvent réduire leur risque [et même retarder l'apparition de] la maladie d'Alzheimer et d'autres types de démence". Les activités de stimulation cérébrale comprenaient la lecture, l'écriture, les puzzles, les jeux de société et de cartes et la musique.

Enfin, une étude publiée en 2013 a révélé que seuls certains types d'engagement mental se prêtaient réellement à des cerveaux plus aiguisés, à savoir les activités cognitives à forte demande qui impliquent des difficultés d'apprentissage et intellectuelles.

Comment la programmation affecte votre cerveau :3 grandes vérités selon la science

Des recherches supplémentaires doivent être effectuées, bien sûr, mais il est difficile de penser à une activité cognitive plus exigeante et centrée sur l'apprentissage que la programmation.

De plus, bien qu'aucune de ces études ne montre que les activités intellectuellement engageantes vous rendent plus intelligent ou plus capable, elles montrent que les tâches cognitives à forte demande prolongent au moins votre santé cérébrale actuelle et préviennent de manière significative la détérioration neurale.

Nous avons déjà soutenu qu'il n'est jamais trop tard pour commencer à apprendre à coder, et ces études ne font que renforcer notre position. La programmation est bonne pour votre santé mentale !

3. Le codage n'est pas uniquement mathématique et logique

Selon une étude de 2014 [PDF] qui a utilisé des scans IRMf pour observer l'activité cérébrale pendant que les programmeurs essayaient de travailler et de comprendre des extraits de code, cinq zones distinctes du cerveau sont impliquées dans la compréhension du code source :

  • BA 6 :Gyrus frontal moyen (Attention, langage, mémoire de travail)
  • BA 21 :Gyrus temporal moyen (Récupération de la mémoire sémantique)
  • BA 40 :Lobule pariétal inférieur (Mémoire de travail)
  • BA 44 :Gyrus frontal inférieur (Mémoire de travail)
  • BA 47 :Gyrus frontal inférieur (Langage, mémoire de travail)

Cela signifie que travailler sur le code source utilise principalement des parties du cerveau qui sont normalement associées au traitement du langage, à la mémoire et à l'attention.

Comment la programmation affecte votre cerveau :3 grandes vérités selon la science

Ce qui manque notamment, ce sont les régions du cerveau normalement associées aux mathématiques et aux calculs, qui sont à peine enregistrées, même lors de la compréhension d'extraits de code impliquant des boucles, des conditions, de l'arithmétique et d'autres opérations algorithmiques.

Bien sûr, cette étude est quelque peu incomplète, et les chercheurs l'admettent :

  • Les extraits de l'expérience comportaient moins de 20 lignes de code et étaient limités dans le temps, ce qui signifie qu'ils n'étaient pas assez difficiles pour vraiment défier les sujets.
  • Les preuves ne suggèrent pas que les langages de programmation sont comme des langues étrangères, seulement qu'ils impliquent des régions similaires du cerveau.
  • Les sujets n'ont pas écrit leur propre code, ce qui impliquerait probablement d'autres zones du cerveau que d'essayer de comprendre le code existant.

Mais voici ce que nous pouvons repartir :

Nous savons que les programmeurs examinent régulièrement le code source, qu'il s'agisse d'un code qu'il a lui-même écrit ou qui appartient à quelqu'un d'autre. Nous savons également que les programmeurs passent souvent plus de temps à réparer et à refactoriser le code qu'à écrire du nouveau code à partir de rien.

Cette étude n'est donc pas dénuée de sens. La programmation n'est pas seulement une "activité du cerveau gauche", et on pourrait même dire que les programmeurs du cerveau droit ont un avantage dans ce sens.

Apprendre à devenir un meilleur programmeur

Les compétences en programmation ne sont pas faciles, mais elles le seront si vous continuez à pratiquer. Découvrez nos conseils pour maîtriser n'importe quel langage de programmation, notre article sur les avantages d'un journal de programmation et nos leçons préférées pour les codeurs autodidactes. Si vous souhaitez franchir le pas avec un langage de programmation spécifique, vous attaquer à un projet est une bonne idée. Découvrez comment apprendre la programmation C avec ce projet pour débutant.

Enfin, je recommande de regarder ces conférences TED pour les programmeurs, qui incluent toutes sortes de conseils, réflexions, inspirations, motivations et histoires qui peuvent vous aider.


[]