La plupart des gens pensent que l’apprentissage du code informatique nécessite des compétences solides en mathématiques. En réalité, le codage fait bien plus appel à des qualités linguistiques, ce qui favorise les personnes parlant les langues étrangères. Mais d'autres experts estiment que se passer des maths conduit à un code de mauvaise qualité.


au sommaire


    Les termes de HTML, CSS, PythonPython, PHPPHP ou JavaScript vous semblent totalement nébuleux ? Vous faites sans doute partie des 20 % de Français qui reconnaissent ne pas savoir exactement ce que recouvre le code informatique. Pourtant, trois Français sur quatre estiment aussi qu'il est essentiel de connaître le codage informatique pour se former aux métiers de demain, d'après une étude Kantar pour Orange. Malgré la myriademyriade de cours en ligne et de tutoriels disponibles sur Internet, les formations dispensées par des organismes publics ou privés, nous sommes encore nombreux à croire que le codage est réservé aux matheux.

    Doué en langues, doué en code informatique

    « N'importe qui peut apprendre à coder. Et tout le monde devrait essayer », déclarait pourtant Bill GatesBill Gates en 2016. En 2017, le P.-D.G d'AppleApple Tim CookTim Cook affirmait lui aussi qu'apprendre à coder devrait être plus important qu'apprendre l'anglais pour les écoliers. Des déclarations confirmées par une nouvelle étude de l'université de Washington, qui montre qu'une aptitude naturelle à l'apprentissage des langues est un meilleur prédicteur de l'apprentissage de la programmation que des connaissances de base en mathématiques ou en calcul. Les chercheurs ont fait passer une batterie de tests à une trentaine d'adultes n'ayant jamais appris à coder afin d'évaluer leurs compétences cognitives dans différents domaines (compétences mathématiques, linguistiques, attention, résolutionrésolution de problèmes, mémoire...). Ces derniers ont ensuite suivi une série de leçons et de quiz en ligne en Python, un des langages informatiques les plus communs. Ceux qui ont appris Python le plus rapidement et avec une plus grande précision sont ceux qui possèdent un mélange de fortes capacités de résolution de problèmes et de langage, révèle l'étude, publiée dans la revue Scientific Reports. Autrement dit, les personnes douées en langues seraient les plus aptes à apprendre le code.

    Part des compétences dans l’apprentissage du langage Python. Les mathématiques expliquent seulement 2 % de la capacité d’apprentissage. <i>© Chantal Prat et al, Scientific Reports, 2020, </i>adaptation et traduction C.D
    Part des compétences dans l’apprentissage du langage Python. Les mathématiques expliquent seulement 2 % de la capacité d’apprentissage. © Chantal Prat et al, Scientific Reports, 2020, adaptation et traduction C.D

    L’activité cérébrale de chaque individu déterminante pour l’apprentissage du code

    Les chercheurs ont également mesuré l'activité cérébrale des participants au repos. Chantel Prat, professeur de psychologie à l'université de Washington et principale auteure de l'article, avait montré lors de précédentes expériences que l'activité neurale au repos expliquait à elle seule 60 % de la variabilité dans la vitessevitesse d'apprentissage d’une langue étrangère (en l'occurence le français). Le même constat est valable pour le code. « L'aptitude linguistique, un raisonnement fluide et la mémoire de travailmémoire de travail, ainsi que l'activité cérébrale au repos sont tous des prédicteurs plus importants de l'apprentissage en Python que le calcul, qui compte pour à peine 2 % des différences entre les personnes », explique Chantel Prat.

    Apprendre le code sans les maths, une très mauvaise approche ?

    Un avis qui n'est pas partagé par tout le monde. Pour Leslie Lamport, lauréat du prix Turing 2013, « la réflexion mathématique est une étape nécessaire pour spécifier l'algorithme des programmes informatiques, car elle aide les programmeurs à clarifier leur pensée et à rendre les programmes plus efficaces », expliquait le chercheur en informatique lors d'une conférence organisée par la Singapore Management University (SMU) en janvier 2020. « Écrire du code sans savoir ce qu'est un algorithme, c'est comme construire un bâtiment sans plan ». Le chercheur américain a développé un langage informatique appelé TLA+ et basé sur les mathématiques, qui a notamment permis de diviser par dix la taille d'un système d'exploitationsystème d'exploitation utilisé par la sonde spatiale RosettaRosetta. « En plus d'être plus efficace, l'approche mathématique permet de faciliter le débogage, assure-t-il. De nombreuses personnes sont rebutées par les mathématiques, mais ce n'est pas si compliqué que ça n'y paraît. Pourquoi "Deux plus deux égale quatre" est considéré comme simple, mais une opération logique comme "un élément de" est difficile à comprendre pour la plupart des gens ? »

    Coder va-t-il devenir inutile ?

    Mais finalement, est-il si important de savoir coder ? De nombreux experts estiment que le code sera bientôt écrit par des programmes d’intelligence artificielle. On peut facilement créer des sites et des applicationsapplications sans avoir la moindre notion de langage informatique grâce à des plateformes comme WordPress ou des APIAPI. Apprendre à coder serait-il alors parfaitement inutile ? Pas du tout, selon Frédéric Bardeau, fondateur de l'école d'informatique solidaire Simplon. Car même si vous n'êtes pas destiné à devenir développeur, « apprendre les bases du code, c'est savoir chercher, se tromper ». Le codage permet d'acquérir des compétences transverses, les fameuses « soft skills » tant recherchées par les recruteurs.