Nos enfants ne doivent pas être des esclaves du numérique.
Les programmes organisent nos vies. Nous interagissons en permanence avec les processeurs. Si pn pouvait à peu près se passer de l'informatique au XXème siècle, c'est aujourd'hui devenu impossible. Pourtant, la population reste majoritairement et désespérement inculte sur tout ce qui touche à l'informatique. C'est un problème majeur.
Indispensable : à quoi l’on ne peut se soustraire, dont on ne peut se dispenser.
De mon temps
L'informatique a très longtemps été totalement délaissée par l'éducation nationale. La situation s'arrange à raison de quelques petites dizaines d'heures par an à partir de la primaire. C'est insuffisant pour un domaine aussi vaste, complexe et important.
Il faut apprendre à contrôler un ordinateur. Il faut apprendre à lire et écrire des programmes. Il faut maîtriser cet outil. A moins de vouloir rester un analphabète du monde numérique.
Nous vivons un événement rare, qui n’arrive que deux fois par siècle : l’ajout d’une nouvelle discipline. Si on veut le faire sérieusement, il est urgent de mettre en place un plan Marshall pour la formation des enseignants en informatique. Gilles Dowek, interview
Programmer, c'est apprendre un langage universel
L'informatique est plus vaste que la programmation. Je laisse de côté l'informatique théorique, les ordinateurs, les réseaux, les systèmes d'exploitation, les bases de données, le cloud etc.
Programmer, c'est d'abord apprendre un langage de programmation [LIEN]. Le développeur entre en communication avec le processeur, à travers un mille-feuille de protocoles d'échange d'informations. Il assemble une suite d'opérations et spécifie ainsi le traitement que doit réaliser le processeur. Ce dernier s'exécutera sans discuter, rapidement et sans se tromper. On peut voir un processeur comme un outil complémentaire à l’homme, qui suit aveuglément ses instructions.
Apprendre à programmer, c'est s'offrir la possibilité d'organiser son monde, d'interagir avec des systèmes, contrôler des organisations. Puisque tout passe à un moment ou à un autre par un ordinateur, le développeur possède un grand nombre de clés. Son pouvoir devient encore plus fantastique avec l'arrivée massive des objets connectés : les prospectivistes en annoncent des foules, des nuées. L'internet des objets (IOT, internet of things) sera bien plus peuplé que l'internet des humains. Nous serons en minorité. Les machines parlent aux machines. Veut-on vraiment s'interdire de parler leur langage ?
Logique appliquée
Apprendre à coder, c'est apprendre à structurer son discours, ses idées, son raisonnement.
Programmer, c'est d'abord réfléchir. Apprendre un langage, c'est apprendre la logique formelle et l'appliquer à des cas concrets. Sans logique, pas d'algorithme, pas de traitement de donnée, pas de programmes intelligents (ou presque).
Le programmeur doit appréhender le problème qui se présente. Il fixe un périmètre, spécifie des entrées et des sorties, formule quelques hypothèses opérationnelles. Il s'applique ensuite à casser le problème en sous-problèmes plus simples. Il divise pour mieux régner, selon la formule consacrée, et explore la complexité de l'ensemble jusqu'à pouvoir discerner aisément chacun des rouages. Cette gymnastique cérébrale est utile dans la vie personnelle ou professionnelle : prendre de bonnes décisions suppose de bien cadrer l'espace des possibles.
Si le latin est présenté comme la principale racine linguistique du français, la logique à l’œuvre dans l'activité du développeur est la principale fondation de tout discours censé. Attention : une logique parfaite n'empêche pas les bugs, les erreurs de conceptions, ou les fautes d'implémentation. C'est une condition nécessaire qui est loin d'être suffisante.
Il y a dans ce pays, une fracture (numérique)
Les vieux ont toujours regardé les jeunes avec, dans les yeux, un mélange de condescendance et d'envie. Jeunes, oui, certes, mais passablement idiots. Rien de neuf sous le soleil.
Quand ils sont tout neufs, qu'ils sortent de l'œuf, du cocon, tous les jeunes blancs-becs prennent les vieux mecs pour des cons. Quand ils sont d'venus des têtes chenues, des grisons, tous les vieux fourneaux prennent les jeunots pour des cons ! Georges Brassens
Aujourd'hui, j'entends parler de millenials. Nés avec la technologie, ils la
maîtriserait d'instinct, naturellement, par une sorte d’imprégnation
magique. C'est un sombre mensonge. Les millenials passent un temps affolant à
jouer des pouces sur leurs
smartphones. Comme leurs parents. Maîtrisent-ils pour autant ces outils
numériques ? Je ne suis pas convaincu. Je pense plutôt qu'ils sont les esclaves
de ces programmes et de ces applications. Comme leurs parents. Leur très
naturelle aisance à jouer avec ces nouveaux jouets n'implique absolument pas
qu'ils sachent les créer. L'alphabétisation numérique, computer literacy,
n'est que la première étape vers la réelle maîtrise des programmes. Disons-le
clairement : l'activité créatrice permise par la programmation demande beaucoup
plus d'efforts que jouer avec un smartphone et glander sur Facebook
, Instagram
ou Twitter
.
Les millenials utilisent toute la journée des outils qu’ils ne comprennent pas.
Ils ne les comprendront que s'ils consacrent à cette tâche un travail personnel, comme les autres. C'est exactement la même situation chez les adultes qui passent leur vie à utiliser un ordinateur sans savoir écrire une ligne de code, soit 99% de la population mondiale, au bas mot. La population utilise des outils pensés par d'autres, sans pouvoir les modifier ni les améliorer, sans pouvoir en changer, sans parfois les comprendre. Il faut se poser la question de cette dépendance, au niveau des citoyens, professionnels et organisations. C’est une question importante.
Il y a une fracture numérique et technologique vis à vis de l'informatique. Nous y sommes collectivement tombés. Essayons de ressortir de cet abîme ou, au moins, n'y entrainons pas nos jeunes.
MARK TG
Les enfants doivent apprendre l'informatique tôt
L'informatique, la programmation, l'algorithmique, la logique doivent être enseignés à l'école. Dans des créneaux spécifiques, différents des mathématiques et de la technologie. J'y vois une évidence. Je ne suis pas le seul, loin de là (académie des sciences).
Comme la lecture, l'écriture, les mathématiques, il faut inclure l’informatique dans le programme d'apprentissage des enfants. Avec ou sans ordinateur, seul ou en groupe, en théorie ou en pratique. La compréhension et la maîtrise de ce formidable outil qu'est le processeur doit faire partie du socle des connaissances de base. Tôt, évidemment, pour profiter de leur capacité d’apprentissage phénoménale, et pour aider à la structuration logique de ces jeunes cerveaux. Pas forcément à haute dose, mais largement plus qu'à dose homéopathique, pour que ça puisse marcher. Ceux qui parlent d’embrigadement ou de formatage des cerveaux pour les besoins des entreprises ont loupé quelques marches et feraient mieux d’ouvrir les yeux : le monde se construit en partie sur l'exploitation intelligente de la puissance de calcul.
Rappelons qu'il existe des méthodes d'apprentissage de la pensée informatique adaptée à tous les âges. Robots programmables, chasse au trésor, invention de jeux, énigmes logiques ... les activités ne manquent pas.
Filles, garçons : même combat
Je n'ai pas envie de faire de différence de genre dans ce constat, ni dans les recommandations. Garçons, filles : même combat, apprenez à programmer ! L'énorme majorité des développeurs que je rencontre sont des hommes. Les femmes sont rares. Ce constat est d’ailleurs valable dans toute ma vie d'ingénieur, chercheur, data scientist. Chez les devs, c'est effarant et effrayant. Ça s'explique peut-être par une différenciation qui s'opère dès le collège. C'est ce que me raconte mon histoire personnelle. Peut-être suffirait-il de dire aux enfants, filles ou garçons, des choses simples : programmer, ce n’est rien de plus que raconter une histoire à un ordinateur. Et c’est aussi lui faire faire ce qu’on désire. Ca n'est pas genré.
Je vais peut-être vous étonner, mais la situation était aussi largement perfectible en sortie d'école d'ingénieur, au début des années 2000. Si on met de coté les écoles et formations spécialisées en informatique, la norme est, en moyenne haute, une centaine d'heures de programmation, incluant de la théorie et un peu de pratique. Pour beaucoup de nos futurs cadres techniques, leurs compétences se bornent à écrire quelques macros MS Excel et une petite expérience en Matlab (voire R ou python pour une faible minorité) lors d'analyse de données plutôt propres. Léger. Comme si cette expérience vraiment rudimentaire allait leur permettre d'attaquer des problèmes réels avec des algorithmes compliqués …
Ce discours sonne peut-être un peu aigri ; peut-être le suis-je. C'est surtout un constat qui s'impose à moi et me rend parfois amer. Pour recruter nos data scientists, chez AltGR, nous avons placé le minimum syndical au doctorat en sciences mathématiques, biologique ou physiques. Pas pour leurs expertises techniques sur des domaines que nous n'avons aucune chance de comprendre, mais pour leur expérience de trois ans en traitement et manipulation de données, et donc en informatique.
GNU/Linux
Je vous ai parle de GNU/Linux comme outil de travail alternatif à Mac OS ou MS Windows ? Non. Disons que c'est un véritable pré-requis pour tout travail de traitement de données un peu massives, ou sales. C'est un autre combat.
Je baigne dans l'informatique depuis mes 10 ans
Toute pensée est la confession d'un corps, disait Nietzsche avant de s'envoyer son huitième steak tartare de la matinée dans une gargote de Turin. Que m'a apporté l'informatique ? Elle m’a donné les outils pour aller au bout de ma thèse de doctorat, m'a appris un métier et m'a permis de mener à bien de nombreux projets sympathiques.
Le monde de la valorisation de données est un monde en explosion, avec des technologies en forte évolution et dont les besoins commencent à peine à se fixer. L'informatique nous permet d'exprimer n'importe quel traitement mathématique dans un langage compris par n'importe quel cœur de calcul : c'est un pouvoir énorme ! Il ne demande que deux choses : du travail et de la pratique. Rien d'inaccessible, franchement. Et même si les maths peuvent être un point de blocage, chacun peut, s'il s'en donne la peine, écrire des programmes. Les maths viendront ensuite, s’il le faut. L'informatique m'a aussi forcé à ne pas perdre le goût de l'effort et de conserver une forme d'exigence intellectuelle. Pour se créer liberté, un autre mot de Nietzsche.
La messe est dite
L’investissement vaut le coup. Ça tombe bien, puisque ces compétences seront bientôt indispensables pour tout travail intellectuel. Les manipulateurs de symboles de notre société en grande partie tertiarisée devront savoir dompter, puis controler, les processeurs.
Indispensable : à quoi l’on ne peut se soustraire, dont on ne peut se dispenser.
Hey toi, le jeune !
1 Lache ce smartphone, tu perds ton temps.
2 Apprends l'informatique !
Tu me remercieras un jour.
L'apprentissage d'un langage de programmation doit-il être placé au même niveau que l'apprentissage d’une langue vivante ?