Et si apprendre à coder n’était pas nécessaire ?

« Peut-on rester passif devant les langages informatiques que sont le code et les algorithmes ? » demande Antoine Chotard : à vrai dire, difficile de faire autrement, même si on peut le regretter. À l’ère des logiciels complexes, il est évidemment totalement inutile d’apprendre à coder, ni pour maîtriser, ni pour comprendre le fonctionnement des logiciels de notre vie quotidienne : une vie n’y suffirait pas, d’autant qu’ils évoluent à une vitesse vertigineuse.

La contradiction n’effleure qu’à demi le CNNum :

« Les savoirs et compétences qui forment le socle d’une littératie numérique sont par essence mouvants, dans la mesure où ils évoluent au double rythme trépidant de l’innovation technologique et des usages. Aussi nous ne cherchons pas ici à redéfinir ce que serait le référentiel idéal d’une littératie numérique, car il deviendrait vite obsolète. […] Tout ce qui permet d’acquérir de la distance vis-à-vis de l’écosystème informatique […] constitue un autre point majeur pour l’enseignement de la littératie numérique. Il s’agit d’apprendre à coder, à contrôler par programme une machine numérique […], à créer des pages pour le web ou des jeux vidéo. »

Peu importe pour certains promoteurs du code, qui n’hésitent pas à nier l’évidence pour les besoins de leur propre cause : « Les logi­ciels évoluent extrê­me­ment vite. Résultat : ceux qui réus­sissent à s’adapter sont ceux qui com­prennent les méca­nismes sous-jacents, c’est-à-dire le code. »

Or rien n’est plus faux, pourtant : les geeks ne sont pas des nerds.

L’adaptation est même de plus en plus facile puisque les logiciels, en vertu d'interfaces toujours plus intuitives, sont de plus en plus ergonomiques, ainsi que certains le reconnaissent : « L’informatique pâtit d’une image de science complexe, peu naturelle et constamment en évolution, alors même que les ordinateurs sont de plus en plus simples à utiliser. »

De fait, c’est une spécificité du numérique d’évoluer vers une simplification d’usage sans cesse accrue, dans le même temps que sa complexité s’accélère. Par conséquent il devient sans cesse plus difficile, voire impossible, à comprendre et à maîtriser.

Qui a besoin de savoir coder ?

Si l’on en croit le site des « métiers du numérique », de nombreux métiers du numérique n’exigent qu’une connaissance superficielle de la programmation (infographiste, développeur multimédia etc.) voire pour la plupart aucune connaissance (sound designer, domoticien, architecte sur ordinateur, e-marketer, responsable e-business, veilleur en e-réputation, analyste juridique, concepteur sur ordinateur, veilleur technologique, community manager, manipulateur radio etc.). En dehors de l’informatique à proprement parler (architecte systèmes d’information, administrateur de base de données, architecte de réseaux, analyste-programmeur, consultant spécialisé en sécurité etc.), seuls quelques métiers du numérique exigent une vraie connaissance approfondie de la programmation : game designer, hotliner, auditeur informatique, consultant ERP ou bio-informaticien par exemple.

Paradoxe de la modernité : on peut même aujourd’hui être webmaster sans savoir programmer une seule ligne de code grâce aux systèmes de gestions de contenus (SGC ou CMS en anglais) ! Les développeurs eux-mêmes utilisent de plus en plus des bibliothèques compilées et prêtes à l’emploi. Le programme de la spécialité ISN le recommande d’ailleurs : « L’enseignant choisit un langage de programmation selon les critères suivants : simplicité d’utilisation, liberté d’installation, présence d’outils associés, existence d’une communauté d’utilisateurs et de bibliothèques facilitant le développement. »

On peut même imaginer une évolution plus radicale encore, avec Bernard Stiegler :

« Grâce aux mécanismes d’automatisation, le codage se fera de plus en plus à travers les machines. L’école n’a donc pas besoin d’enseigner ces codes - qui changent d’ailleurs bien trop souvent. Ceux que cela intéresse les apprendront... hors de l’école. »

Certains vont plus loin en postulant que l’art de programmer lui-même est peut-être voué à disparaître.

Le développeur, un exécutant ?

De fait la programmation se délocalise déjà « dans les pays émergents ». Comme le rappelle David Monniaux « outre en Inde, on trouve en Pologne, en République Tchèque, en Estonie etc. des codeurs pas chers. » On a vu qu’en France, elle est proposée aux élèves décrocheurs, aux jeunes des quartiers populaires et aux demandeurs d’emploi sans qualification. Rappelons au passage que, sur le même principe, pour les élèves les plus en difficulté des établissements prioritaires, une remédiation au rabais est désormais proposée… en ligne sur un site du CNED, avec le dispositif D’Col !

Tariq Krim, partisan de l’éveil à la programmation en primaire, constate, dans son rapport sur les développeurs en France, que « l’univers des développeurs bénéficie en France d’une faible reconnaissance. Ils sont souvent considérés comme des exécutants ». Ce qui ne l’empêche pas d’affirmer, avec un certain sens du paradoxe :

« Pour remédier à cette pénurie de talents, il faudra continuer de former des ingénieurs, des profils bac +5 mais aussi des cycles courts : bac+2. On pourrait aussi mettre en place, en ciblant de manière prioritaire les banlieues, des "écoles du numérique" destinées à des jeunes de 18 à 25 ans "décrocheurs". Ces dispositifs peuvent s’inspirer de réalisations existantes comme “Web@cademie”, “42” ou “codeacademy.org”... Nous devrons aussi être capables d’identifier les talents dès l’école primaire en éveillant les élèves à la programmation. »

Ajoutons que l’autodidaxie, reconnue par l’Académie des sciences elle-même, pour qui l’enseignement par les moocs « semble particulièrement bien adapté à l’informatique », peut parfaitement servir de contre-argument à l’enseignement du code à l’école. Un défenseur des moocs le souligne : « L’informatique et la programmation sont des disciplines particulièrement adaptées à l’autoformation via internet. Et pour cause, les technologies étant en constante évolution, l’obsolescence des connaissances est relativement rapide. Tout développeur digne de ce nom doit donc en permanence se tenir à jour. Or ce n’est pas sur les bancs de la fac que l’on apprend à programmer – la plupart des examens y sont encore réalisés au papier et crayon – et les formations en présentiel dans le domaine, si elles sont nombreuses, peuvent coûter cher. »

Pas étonnant, dans ces conditions, si « les développeurs sont considérés comme des exécutants. » Les expressions « code monkeys » ou « pisseurs de code » (parfois payés à la ligne de code) montrent combien savoir coder est loin d’être considéré comme « un privilège lié au milieu social », malgré ce qu’affirme l’Académie des sciences. Preuve du manque de reconnaissance : un mouvement associatif, « fier d’être développeur », s’efforce même de redorer l'image du métier !

Patrice Bernard, responsable de l’offre innovation d’une société de conseil en système d’information, télécommunication et gestion des risques, est plus lucide :

« Il suffit en effet de regarder de près les effectifs des grandes entreprises – et plus particulièrement les institutions financières qui font partie des plus consommatrices de technologies numériques – pour se rendre compte que la programmation n’y est résolument pas un métier d’avenir. La vérité est crue : ce n’est jamais son code qui rend une application brillante, sa valeur réside toujours dans sa conception. […] Que deviendront alors les compétences acquises à l’école primaire ? Un bagage inutile… Il serait fantaisiste de croire que l’apprentissage de la programmation est indispensable pour concevoir les succès de demain. »

Enfin, le président d’une association professionnelle des informaticiens et des métiers du numérique le dit lui-même : « Il faut insister sur l’apprentissage de compétences durables qui ne disparaîtront pas. Se spécialiser trop tôt peut présenter des risques en termes de carrière. […] La priorité n’est pas au niveau de l’apprentissage initial, mais de la formation continue. »

Le scepticisme des libristes et des informaticiens

Des partisans du logiciel libre, moins lobbyistes que des universitaires ou des représentants de groupes industriels ou commerciaux, se sont également montrés très sceptiques, à l’exception notable de François Elie, partisan d’un enseignement du code austère et déconnecté.

Le créateur de Linux lui-même, Linus Torvalds, s’il est favorable à des initiations de découverte, est pour le reste catégorique : « je ne crois pas que tout le monde doive nécessairement essayer d’apprendre à coder. Je pense que c’est assez spécialisé, et personne ne s’attend vraiment à ce que la plupart des gens le fassent. Ce n’est pas comme savoir lire et écrire et faire des mathématiques de base. »

En France Benjamin Bayart, grand militant de l’internet libre et président de la fédération FDN, va dans le même sens quand on lui demande si, en 2014, il n'est pas plus important de savoir programmer que de savoir danser : « Il y a besoin que les gens comprennent la programmation quand on veut fabriquer des programmes. Le rôle de l’école n’est pas forcément de former des professionnels. Quand on cherche à former des citoyens épanouis, la programmation n’est pas un enjeu significatif. »

Alors, apprendre à coder est-il nécessaire ? Pour Déborah Elalouf, qui organise des ateliers d’initiation au code, la réponse est nette : « Nécessaire non. Utile oui. »

Nicolas Biri, chercheur en informatique, est plus virulent :

« Le codage, tellement sacralisé, ne doit pas être un fondement central de l’éducation. Une simple initiation, pour comprendre comment on “donne des ordres” à un ordinateur peut suffire. Il s’agit dès lors d’un simple atelier, ou projet scolaire, comme il y en a déjà. L’idée de considérer le code (concept ridicule) au même niveau que le français ou les mathématiques est une absurdité sans nom. Ne pas savoir lire ou faire des calculs simples est un réel handicap. Ne pas savoir programmer est embêtant en de très rares occasions. »

Concluons avec le responsable informatique d’un grand site d’actualités américain, Chase Felker :

« Je ne suis pas sûr qu’il soit même possible d’apprendre à coder à tout le monde mais en revanche je sais que faire de la programmation une obligation d’enseignement général reviendrait à remplacer quelque chose que nous échouons déjà à enseigner, et ce n’est pas une bonne chose non plus. Nous n’avons pas besoin que tout le monde code — nous avons besoin que tout le monde pense. Et, malheureusement, il est très facile de coder sans penser. »