Digital Naives

Par Emmanuel, 31 mars 2010 19 h 44 min

Un article intéressant dans Libération: Les jeunes ne sont plus intéressés par l’outils-ordi.

Depuis longtemps j’ai aussi remarqué que, alors que l’on nous avait promis une génération de « petits génies » en informatique puisqu’ils seraient nés avec le numérique, on se retrouve avec un résultat très décevant… Et même dangereux pour l’informatique libre car les fameux hackers, héros des années ‘80 et ‘90 ont une tendance à disparaître peu à peu.

Je cite d’ailleurs l’article:

Est-ce la fin des bidouilleurs et des hackers ?

Tels qu’on les a connus, oui. D’ailleurs, les Etats-Unis sont très embêtés qu’il y ait de moins en moins de hackers, dont ils ont besoin pour leur armée. Grâce au logiciel libre, il n’y a jamais eu autant d’outils et on trouve de la documentation partout, mais je pense qu’en proportion le nombre de gens qui prennent en mains leur existence numérique, du côté de la création, d’objets et de logiciels, est en train de baisser.

De fait, les non-techniciens l’emportent de plus en plus sur les techniciens et les communautés techniques s’étiolent en attendant une relève qui ne viendra jamais…

Bienvenu dans l’ère des « digital naives » qui savent se servir des outils du numérique mais qui ne savent pas comment ils fonctionnent… Pire, ils ne veulent pas le savoir !

Au fur et à mesure des années, lors de mes enseignements je m’en rend compte. Les étudiants font de moins en moins de l’informatique par passion, tout juste veulent-ils un bon salaire et l’assurance de trouver du travail. Ou alors, ils veulent « programmer des jeux vidéos » (sic).

À qui la faute ?

C’est très simple, tout vient du slogan: « Simplicité fonctionnelle, complexité structurelle« , qui veut que l’utilisation des technologies du numériques demandent de moins en moins de capacités pour les mettre en œuvre, alors qu’en même temps leur complexité interne s’est accrue considérablement. Dès lors, pourquoi vouloir s’attaquer à la compréhension d’un objet qui demandera probablement de passer plusieurs années à accumuler des connaissances alors que de toute façon il fonctionne très bien sans avoir à s’en préoccuper ?

Lorsque l’informatique débutait, la compréhension des mécanismes internes des machines était encore à la portée de ceux qui voulaient bien s’accrocher. Et, de toute façon, il était impossible de tirer un quelconque résultat d’une machine sans avoir une connaissance approfondie de ses pannes, ses erreurs, ses limitations.

De nos jours, rien de tout cela n’est plus demandé à l’utilisateur pour obtenir un résultat… la paresse l’emporte sur la connaissance.

La question est de savoir si cette tendance sonne réellement le glas de l’ère des hackers… et de savoir ce qui viendra se substituer à eux ensuite.

Pour ma part, je pense que depuis les années 2000 nous entrons dans une nouvelle ère de l’informatique où les professionnels prennent en main une grosse partie de la production du code Open Source et où les amateurs ne sont plus que quantité négligeable. En effet, la plupart des gens qui produisent actuellement du code libre sont payés et en font leur corps de métier. Les amateurs ne font plus que de corriger les bugs et d’ajouter des fonctionnalités mineures sur des bases de code déjà existant. Mais rares sont les projets libres qui ont du succès et qui ont été initié par des amateurs.

Les communautés de codeurs amateurs libres ont tendance à disparaître une à une de façon quasi-inexorable et rien n’arrêtera leur extinction.

Le problème est que les codeurs amateurs sont le vivier dans lequel on puise les codeurs professionnels… Si les codeurs amateurs (des étudiants en informatique le plus souvent) disparaissent que vont devenir les codeurs professionnels ? Dès lors, former les étudiants à l’art de l’informatique en général et de la programmation en particulier devient un enjeu majeur pour l’avenir car il ne va pas de soi.

Mais l’extraordinaire complexité de l’informatique actuelle fait qu’ils vont aborder une science terriblement difficile, comme si les mathématiques avaient avancées pendant deux siècles sans aucune espèce de simplification ou d’unification des théories. Dans ce cas, les équations du second degré prendraient toujours trois tomes à expliquer, mais elles seraient tout de même enseignées au Lycée…

L’enseignement de l’informatique à l’heure actuelle en est exactement à ce point où il nous faut, en tant qu’enseignant, expliquer cent ans d’histoire avec une croissance exponentielle de la connaissance dans ce domaine, sans aucune simplification possible. Sans aucune possibilité d’avoir une progression du plus simple au plus compliqué. Sans possibilité d’expliquer les choix actuels sans énumérer l’ensemble de tous les choix précédents…

Par exemple, dernièrement j’ai eu à expliquer les logiciels de gestion de version a des étudiants, j’ai dû remonter le temps jusqu’à ‘tar’, en passant par CVS pour finalement arriver à Git. L’ensemble des concepts qui ont abouti à des gestionnaires de version distribués ne se comprennent que si on liste les notions de toutes les problématiques précédentes.

Je n’ai pas de réponse à ces questions, mais je pense qu’il est vraiment temps de se poser la question de comment enseigner l’informatique (et la programmation) et, surtout, comment le faire efficacement. Car sans une méthode efficace d’enseignement nous allons être submergé par les « digital naives » et nous nous écroulerons sous notre propre incompétence…

5 commentaires à “Digital Naives”

  1. Jigar dit :

    Une petite anecdote qui rejoint exactement ce point de vue et que j’ai remarqué dès que j’ai donné mes premiers cours de sécurité réseau. J’avais appelé ça la « génération GUIBox » : j’ai passé un bon moment à expliquer que faire du NAT n’était pas la même chose que faire du routage qui n’était pas la même chose que faire du filtrage. Des concepts qui, moi à l’époque où j’étais sur les bancs (pas si loin que ça d’ailleurs ;-) ) me parraissaient tout à fait naturel de séparer, étaient devenu un trou noir pour cette génération, énormément habitué à configurer le MachinBox directement avec un GUI/InterfaceWeb.

    Le problème réside dans le fait que les mécanismes sous-jacents de ces machinsBox ne sont pas du tout maitrisés et qu’en fin de compte, en realife, ca donne lieu à des configurations très bancales voire insecure.

    A qui la faute ? J’en sais rien. Sigh… Je constate juste les conséquences et je me dis, au fond de moi, que c’est tout de même bien dommage. J’ai du mal à retrouver cette sensation de toute puissance que l’on avait à l’époque lorsque l’on avait passé des semaines à décortiquer un programme, à en lire/modifier le code, à en étudier le comportement et que l’on « savait » comment ca fonctionnait « dedans » même si ca nous servait à rien (à part troller dessus le soir entre hommes_des_cavernes).

    Je pense que les torts sont partagés : d’un côté les professionnels qui demandent de plus en plus de personnes capable de travailler sur un outil en particulier, une technologie particulière à la mode, à faire en sorte que le jeune diplomé soit rentable de suite, qu’il ait une formation qui va en ce sens. De l’autre les enseignants qui ont toujours le même temps (voire de moins en moins) pour expliquer des concepts vieux de près de quatre décenies, mais avec leur évolutions en plus !! Du coup forcément, on explique que les évolutions, les journées font toujours 24heures. Et enfin, les étudiants, un peu en porte-a-faux, ayant grandi dans la super génération du numérique pour qui depuis toujours, ca marche en un clic, suffit de cocher la case « secure » et rebooter et c’est bon.

    Alors, effectivement, c’est sur que lorsque l’on va essayer d’expliquer pourquoi malgré un pare-feu très restrictif, le tout premier paquet d’un client DHCP vers le serveur n’a aucune chance d’être bloqué quelque soit le filtrage mis en place, ca n’est surement pas une mince affaire si le temps que l’on a pour le faire est constant et qu’il faut (ré)expliquer le modèle OSI/TCP-IP, le broadcast DHCP et tous les concepts sous-jacents de ce genre de question, bien au delà du fait de cocher la case « Activer le servuer DHCP » et « Filtrage Maximum ».

    Et puis de toutes facons, les autotools, saymal…. :-)

  2. vinylourson dit :

    Encore une fois un article très intéressant Emmanuel :) .
    Ça rejoint un peu tout ce qui a été dit et ce que l’on peut constater sur ces génération (la mienne et celles d’après) qui disent savoir se servir de l’outil informatique et qui l’appose même sur leur CV. Au final leurs « compétences » se résument à l’ouverture d’IE pour aller sur Facebook and Co, l’utilisation (ultra)basique de la suite MS Office (pas OOo, ils ne connaissent pas hein), ou parfois l’ouverture des ports sur une box en ayant suivi un tuto nommé « optimiser emule » (ou quelque chose dans le genre).

    Là où tu soulignes bien le problème qui nous attend au détour de ces prochaines années, c’est que cela peut concerner des étudiants en informatique, et je parle en connaissance de cause. Pendant ma formation de technicien (je n’ai donc pas eu beaucoup de cours de programmation, même si je m’y intéresse) j’ai remarqué que certains cours, comme l’introduction aux routeurs Cisco par exemple, étaient en quelque sorte « baclés ». Non pas à cause de l’incompétence des intervenants, mais plus par un désintéressement de la part des étudiants. J’imagine, peut-être à tort, que la plupart se sont orientés vers cette filière en y voyant l’opportunité d’un métier pas trop mal payé dans une filière, qui semble avoir moins connu les dommages de la crise, plutôt que par passion.

    Enfin, pour dénoter un peu de ta conclusion, je dirais qu’il faudrait peut-être se poser la question de savoir si les hackers de l’époque s’intéressaient au fonctionnement des programmes par nécessité ou si quelque chose d’autre les y poussaient, et ainsi voir s’il ne faudrait pas trouver une méthode d’enseignement qui permettrait d’insuffler cette passion afin que la « relève » soit à la hauteur de ses illustres prédécesseurs.

    • Emmanuel dit :

      Tu poses là une question très intéressante… « quelle était réellement la motivation des hackers ? ».

      Personnellement, je dirais: le jeu…

      Mais la marche n’était pas si haute que cela à l’époque. On pouvait facilement épater ses amis avec quelques lignes de C sans pour autant rien maîtriser de Gtk+, des autotools, de l’i18n, etc…

      De nos jours, si je me lançais dans l’apprentissage de la programmation, il faudrait que je sois extrêmement joueur pour réussir à assimiler tout ça… :-/

      Au final, c’est un peu ce que je disais dans l’article. On peut faire des mathématiques de nos jours parce que les concepts sont rentrés dans notre culture et sont devenus plus simples à appréhender. Mais en informatique, les outils ont grossi en complexité sans pour autant se simplifier (les autotools en sont un exemple flagrant!).

      Au final, on fait des choses très compliquées mais en faisant le sacrifice de se taper toute cette complexité à la main aussi.

      Il faudrait pouvoir déléguer les choses compliquées aux machines…

  3. Cédric dit :

    Au sujet de l’enseignement de l’informatique, une formule semble faire ses preuves du côté du Site du Zéro, en permettant à toute personne motivée d’apprendre tout « à partir de zéro » (c’est le slogan).

    L’avantage de ce système, c’est qu’il met clairement l’accent sur la motivation, chose qui, à mon sens, tend à devenir indispensable pour nos futurs métiers. Ainsi, beaucoup de jeunes peuvent s’initier très tôt à cette discipline, et savoir rapidement s’ils veulent poursuivre dans cette voie.

    De plus, le fait d’aborder la programmation très tôt (on retrouve beaucoup de collégiens sur ce site) permet d’étaler la difficulté, et d’éviter que ces mêmes jeunes ne soient rebutés par la difficulté une fois étudiants. Qui plus est, ça leur permet d’avoir une activité intellectuelle un peu plus poussée que celle nécessaire à Facebook ou aux jeux vidéo pendant leur jeunes années.

    D’ailleurs, à mon sens, cet article soulève un problème qui apparaît assez nettement dans l’informatique du fait de la complexité de la matière, mais qui est en réalité plus global : la technique améliore considérablement notre confort de vie, et on a tendance a ne plus insister sur la réalité de la vie et de sa difficulté, que les jeunes rencontrent par eux-même bien trop tard et qui mènent trop souvent à l’échec scolaire.

    Alors réfléchir sur une meilleure méthode d’enseignement, oui, mais sans une éducation adaptée, ce ne sera probablement pas suffisant.

    • Emmanuel dit :

      Ce que je retiens surtout c’est qu’en France nous ne commençons à enseigner l’informatique qu’après le bac. Les enseignements précédents n’abordent finalement que l’utilisation des outils informatique (B2I, C2I, …).

      Je pense que c’est une erreur…

      Pour preuve, toutes les personnes compétentes que je connais ont toutes commencé la programmation dès le collège.

      Malheureusement, des tas de tentatives pour introduire l’informatique au Lycée se sont soldées par des échecs (création d’une Agreg d’informatique, d’un CAPES, etc).

      À l’heure actuelle, nous nous accueillons en post-bac des gens qui « fantasment » à propos de l’informatique et qui sont forcément déçus à un moment ou un autre pendant leurs études (sans compter qu’il n’existe pas vraiment de bonnes formation en informatique en France actuellement… mais c’est une autre histoire dont je parlerai probablement dans un billet futur).

      Les gens qui prenaient informartique « avant », le faisaient par passion, parfois assez tard (mais à l’époque les connaissances pouvaient se rattraper assez vite). Mais ils venaient après avoir découvert l’informatique plus en profondeur (programmation, administration système, réseau).

      Bref, il faudrait un enseignement de l’informatique dans le secondaire (Collège/Lycée) qui comprenne non seulement l’utilisation mais aussi la programmation, les systèmes d’exploitation et le réseau… quitte à l’intégrer dans le programme de mathématiques.

      Je pense que c’est une des pistes à explorer pour l’avenir.

Panorama Theme by Themocracy