101010 04/09/2012 à 11h52

L’informatique revient au lycée : trois raisons d’enseigner le code

Martin Untersinger | Journaliste Rue89


Un Zenith Z-19 (Ajmexico/Flickr/CC)

A partir de ce mardi, certains élèves de terminale vont suivre des cours d’informatique. Spécialité de la filière scientifique, c’est une des nouveautés de cette rentrée 2012.

C’est en réalité un retour, la discipline ayant été introduite dans les lycées en 1985. De fait, l’idée d’enseigner le code informatique à l’école n’est pas nouvelle. Trois grands arguments ont été avancés.

1

L’économie en a besoin

« Le code est le nouveau latin. » L’expression est du Britannique Alex Hope, gérant d’une entreprise d’effets spéciaux et auteur d’un rapport sur la question. L’expression est peut-être maladroite – après tout, le latin est une langue morte –, mais elle a le mérite d’attirer l’attention sur son problème.

Hope explique en effet avoir les plus grandes difficultés à recruter des employés avec un bagage en maths et en informatique suffisant.

Selon lui, l’informatique telle qu’elle est enseignée actuellement en Grande-Bretagne n’a pour effet que de décourager les élèves. De fait, en pourcentage, le nombre d’étudiants britanniques en informatique a diminué ces dernières années.

En France, davantage d’élèves « codeurs » ne serait pas un luxe, si on en croit cette étude de l’institut McKinsey – financée par Google mais corroborée par une autre – qui affirme que 25% des emplois créés en France depuis 1995 l’ont été dans le domaine du numérique.

La France est en retard, alors que nous venons de passer la barre des trois millions de chômeurs : aux Etats-Unis, depuis trente ans, Internet est à l’origine d’un tiers de la progression de l’activité économique.

2

Cela développe une nouvelle forme de pensée

Tous les développeurs vous le diront : la programmation entraîne le cerveau à penser complètement différemment. Dans un article publié sur Slate, l’ordinateur est vu comme « une machine à penser et à faire penser » :

« La programmation enseignerait ludiquement la rigueur réflexive et syntaxique, car l’ordinateur n’a pas la subtilité de tolérer l’erreur, tout en inculquant de manière presque intuitive les principes fondamentaux des mathématiques grâce à une visualisation immédiate des commandes. »

On appelle cela la pensée « computationnelle ». Dans le Guardian, le professeur d’université John Naughton en donne une définition :

« C’est comprendre la différence entre une intelligence artificielle et une intelligence humaine, penser de manière récursive, être conscient de la nécessité de la prévention, de la détection et de la protection contre les risques, utiliser l’abstraction et la décomposition lorsqu’on s’attaque à de vastes tâches, et déployer un raisonnement heuristique et itératif pour découvrir des solutions à des problèmes complexes. »

3

Il ne faut pas abandonner le pouvoir aux machines

... ou aux entreprises

Comme l’explique bien l’article de Slate, lorsque l’informatique grand public est apparue et, avec elle, les jolies interfaces graphiques et les logiciels préinstallés, on a délaissé le code. On voyait davantage d’utilité à apprendre comment se servir des logiciels plutôt que comment marchait le code qui les fait fonctionner.

Slate évoque aussi l’essayiste Douglas Rushkoff, auteur de « Programmer ou être programmé », dont la thèse est simple : utiliser ce qu’on ne maîtrise pas, c’est perdre un peu de liberté :

« En comprenant comment les systèmes sont conçus on découvre, qu’ils ne préexistent pas en eux-mêmes et que l’on peut décider de les accepter ou de s’en détourner. Les interfaces sont des univers conçus par d’autres, toujours à dessein.

Jamais il n’y a eu autant de jeunes manipulant des ordis, des tablettes ou des smartphones, et si peu d’entre eux comprennent quelque chose à leur fonctionnement intrinsèque. La génération des bidouilleurs a laissé place à celle des consommateurs, qui achètent des produits dont on ne voit pas les vis/vices. »

John Naughton rappelle, lui, que les ordinateurs sont devenus quasiment omniprésents, dans toutes les activités humaines :

« On a fait l’erreur de penser qu’apprendre l’informatique, c’est comme apprendre à conduire une voiture. Comme la connaissance de la combustion interne n’est pas essentielle pour devenir un bon conducteur, on en a déduit que savoir comment marchent les ordinateurs n’était pas important pour nos enfants.

Mais nous avons oublié que les voitures ne gouvernent pas le monde, ne surveillent pas nos communications, ne mettent pas en marche nos téléphones mobiles, ne gèrent pas nos comptes en banque, n’organisent pas nos agendas, n’interviennent pas dans – ou ne surveillent pas – nos relations sociales, ou ne comptent pas nos votes. Mais les ordinateurs font tout ça, et bien plus. »

Selon lui, l’enjeu de l’apprentissage du code à l’école n’est pas économique, mais « moral » :

« Nos enfants vivent dans un monde qui est défini par la physique, la chimie, la biologie et l’histoire, et – à juste titre – nous voulons qu’ils comprennent ces domaines.

Mais leur monde va bientôt être défini par les ordinateurs : s’ils n’ont pas une meilleure compréhension de tout ça, ils seront intellectuellement paralysés. Ils grandiront, consommateurs passifs de services et d’appareils fermés, menant une vie qui sera toujours plus circonscrite par des technologies créés par une élite travaillant pour de gigantesques entreprises comme Google ou Facebook.

Alors, nous nourrirons des générations de hamsters, piégés dans les roues scintillantes construites par des gens comme Mark Zuckerberg. »

Mise à jour du 04/09 à 15h30 : notre riverain Gstr a trouvé une quatrième – et très intéressante – raison d’apprendre le code. Vous pouvez la retrouver, et y répondre, dans les commentaires.

MERCI RIVERAINS ! adrenochrome
  • 42129 visites
  • 321 réactions
Vous devez être connecté pour commenter : or Inscription
  • sandy keelow
    sandy keelow répond à caro
    développeur
    • Posté à 20h24 le 04/09/2012
    • Internaute 131307
      développeur

    Je ne peux qu’abonder dans votre sens, étant moi même un littéraire contrarié ^^
    J’avais clairement des facilités dans les matières dites littéraires (5 langues au collège qui dit mieux ) mais étant passionné par l’informatique je me suis par obligation technique ennuyé royalement dans une filière scientifique avec de la chimie et tout un tas de trucs intéressants dans l’absolu, mais qui me faisaient bâiller et avoir des notes très moyennes...
    Toutefois je me console en constatant chaque jour qu’il m’en reste toujours quelque chose...
    Par exemple la physique même basique m’a servi sur Rue89, pour comparer l’ordre de grandeur de l’impact d’un avion tombant sur une centrale nucléaire ; -)
    Je pense que nous souhaitons tous, soit pour nous mêmes soit pour nos enfants, un idéal humaniste d’êtres humains capables au mieux d’appréhender le monde tel qu’il est en réalité , ou au pire capables de s’en accomoder (philosophie) ; -)

  • gstr
    gstr répond à silsilsil
    geek !
    • Posté à 13h36 le 04/09/2012
    • Internaute 157965
      geek !

    RIEN ne remplace la philosophie et l’histoire-géo.
    Et c’est un développeur qui dit ça. Supprimez l’histoire, et nos enfants oublieront la shoah. Ok, c’est l’exemple bateau, mais il a le mérite d’être parlant.
    Supprimez la philo, et vous ferez des citoyens très faciles à manipuler (ce qui est déjà le cas ceci dit).

    • nicolas.boulay
      nicolas.boulay répond à gstr
      ingé
      • Posté à 15h49 le 04/09/2012
      • Internaute 94389
        ingé

      Le problème de l’histoire-géo en terminal est le temps hallucinant que cette matière prend pour être correctement apprise, alors qu’elle a un coefficient mineur. En finir en première me parait salutaire. On ne peut pas être spécialiste de tout.

      D’ailleurs vous faites bien de parler de la seconde guerre mondial qui doit être présente 3x dans les programmes, alors que l’histoire récente était oubliée(année 70 par exemple).

  • Okotoks
    Okotoks répond à silsilsil
    Amateur de paléontologie et d' (...)
    • Posté à 13h56 le 04/09/2012
    • Internaute 58147
      Amateur de paléontologie et d' (...)

    L’histoire et la géographie sont aussi des sciences. Et puis il y a aussi l’épistémologie..

  • cham's
    cham's
    gghg
    • Posté à 12h09 le 04/09/2012
    • Internaute 192079
      gghg

    Donc il faut que les lycéens de terminales S fassent de l’informatique et des maths. OK c’est judicieux.
    Mais il faut aussi qu’il fassent : de l’histoire, de la philo, du sport, des arts, de la littérature, de la morale.

    Croyez pas qu’il est temps de simplifier la filière S et de la recentrer ? sur les sciences tiens par exemple !

    • bozox
      bozox répond à cham's
      • Posté à 12h17 le 04/09/2012
      • Internaute 28752

      on peut enlever des maths, ça sert à rien, même pour des S

    • Anze
      Anze répond à cham's
      Jeune pédant offusqué
      • Posté à 12h34 le 04/09/2012
      • 177247
        Jeune pédant offusqué

      Quelle riche idée ; les bacheliers des filières S ont déjà suffisamment de mal à aligner 3 mots sans y glisser une faute d’orthographe ou de conjugaison élémentaire. Allons-y, supprimons donc toute source d’enrichissement littéraire et formons des demeurés logiques et calculateurs.
      Les bases de la programmation, l’algorithmique élémentaire et le raisonnement logique (si/alors/donc/et/ou) devraient être enseigné d’ABORD aux professeurs des écoles et des collèges. On nous a bien inculqué les notions d’électronique telles que les portes logiques, la rigueur du dessin technique etc en technologie, pourquoi ne pas faire le ménage dans ce programme et entreprendre l’enseignement de l’informatique sur la longueur plutôt que de vouloir systématiquement étouffer les programmes de première et terminale. Doit-on vraiment continuer de se limiter à de la vague culture générale avant le lycée ? (voir les cours physique chimie inutiles jusqu’à la seconde..)
      L’outil informatique devient indispensable aux enseignants, ça ne ferait pas de mal de les former à générer des macros Excel simples ou plus élaborées., ne serait-ce que pour leur permettre d’optimiser leur travail (mise en page de documents, bilans scolaires, organisation des dossiers...).
      A l’heure des tableaux numériques et PC+Video-projecteurs dans les classes je ne crois pas en effet, qu’il faille attendre que les gamins aient 17 ans pour leur apprendre les bases de l’environnement qui les entoure.

      • cham's
        cham's répond à Anze
        gghg
        • Posté à 12h43 le 04/09/2012
        • Internaute 192079
          gghg

        et inversement les bacheliers L sont infoutus de multiplier 8 par 9.
        alors que fait-on, on leur colle 5h de maths par semaine ?

        non il faut tout simplement admettre qu’à partir d’un certain moment il faut se spécialiser dans quelques domaines précis, plutôt que d’en survoler superficiellement des dizaines.

      • bozox
        bozox répond à Anze
        • Posté à 12h47 le 04/09/2012
        • Internaute 28752

        Euh désolé de vous décevoir mais des macros excel ce n’est pas du code....

        C’est comme apprendre la voile dans une baignoire avec un ventilateur !

        Par ailleurs ce n’est pas à l’éducation nationale de former les citoyens à une technologie commerciale propriétaire. OpenOffice fait la même chose, avec un code libre et sans devoir le pirater pour l’utiliser.

        Pour apprendre à coder, il y a le C, le Perl, le PHP (pas le Java pour les mômes, par pitié !)

         
        • Anze
          Anze répond à bozox
          Jeune pédant offusqué
          • Posté à 12h51 le 04/09/2012
          • 177247
            Jeune pédant offusqué

          Allons donc, vous jouer sur les mots pour étaler votre « culture ».
          VB pour Excel est une excellente initiation aux technologies .net.

          On parle d’inculquer des notions simples à des jeunes ; quelle hypocrisie de parler de C. Vous vous voyez apprendre a une classe d’élève de 12 ans à compiler sous UNIX ? Quid des professeurs ? Qui les formera ? Ravalez donc vos commentaires de je-sais-tout et recentrez vous sur le sujet.

          • bozox
            bozox répond à Anze
            • Posté à 12h54 le 04/09/2012
            • Internaute 28752

            Non, on avait le basic pour ça, mais une armée de commerciaux est venu fourguer du turbo pascal puis du java aux enseignants...

            Donc aujourd’hui le basic est mort. Voilà pourquoi j’indique d’autres langages. Mais dans l’absolu, il faudrait le basic.

            • Anze
              Anze répond à bozox
              Jeune pédant offusqué
              • Posté à 13h02 le 04/09/2012
              • 177247
                Jeune pédant offusqué

              Mais quel age avez vous ? On ne peut pas enseigner l’informatique sans passer par des outils à portée de la génération qui l’utilise.
              Actuellement, la majorité des foyers équipés d’un ordinateur possède au moins la suite Office Word + Excel + Powerpoint. C’est simple, et ça se retrouve aussi à l’école.

              J’ai 25 ans et je suis développeur .Net / Java / C++. Je peux vous assurer que les sessions avec les potes à trifouiller des macros quand on avait 13-14 ans ont généré pas mal de vocations autour de moi (dont la mienne).
              Après bien entendu il y avait les calculatrices TI-82/83 et leur prise en charge du basic. Mais celles ci existent encore non ?

              • I.P
                I.P répond à Anze
                Il manque Hulk en baskets
                • Posté à 13h52 le 04/09/2012
                • Internaute 25391
                  Il manque Hulk en baskets

                Vous pouvez tout aussi bien télécharger un interpréteur Python pour Windows, au moins ça vous évitera d’avoir la moitié de la classe qui croit que programmer ça sert à faire des calculs dans Excel.

              • sandy keelow
                sandy keelow répond à Anze
                développeur
                • Posté à 23h15 le 04/09/2012
                • Internaute 131307
                  développeur

                C’est vrai les macros Excel peuvent être une bonne introduction à la prog, comme les petits progs sur calculatrice au lycée, j’ai un pote fondu (c’est rien de le dire ) de JDR qui gère tout (y compris un jdr à l’ancienne par courrier) sous Excel, simplement parcequ’il a observé/constaté que ça marche mieux et/ou avec une plus grande compatibilité que les autres solutions...
                La complexité de ses tableaux et de ses macros me laisse pantois encore aujourd’hui, cela dit il a de grosses lacunes, genre un tableau a plus que deux dimensions il a du mal a visualiser alors qu’il en utilise tous les jours ^^...

            • sandy keelow
              sandy keelow répond à bozox
              développeur
              • Posté à 22h49 le 04/09/2012
              • Internaute 131307
                développeur

              « Donc aujourd’hui le basic est mort »

              Visual Basic .Net est un des langages les plus utilisés...
              (il est un peu loin de son ancêtre il est vrai surtout point de vue simplicité hélas ^^...)

          • psych0Dad
            psych0Dad répond à Anze
            sociopathe
            • Posté à 17h43 le 04/09/2012
            • Internaute 81504
              sociopathe

            Quand j’avais 12 je faisais de l’informatique au college et on ecrivait du code. Bon, c’etait du Basic et pas du C mais de toute facon on n’avait pas de logiciels alors on les ecrivait nous meme.

            • sandy keelow
              sandy keelow répond à psych0Dad
              développeur
              • Posté à 21h50 le 04/09/2012
              • Internaute 131307
                développeur

              C’est très bien le basic, j’ai écris mon premier logiciel digne de ce nom il y’a une vingtaine d’années en GFA Basic sur Atari ST, un antivirus (qui marchait !) il était même presque vendable, j’ai encore attendu 3 ou 4ans après avant de faire des trucs vendables (et vendus), mais comme aurait pu dire Brassens le langage ne fait rien à l’affaire ; -)

              Dommage qu’ils aient arrêté d’ailleurs le GFA basic qui existait sur les deux bonnes plateformes de l’époque , atari et amiga, il y’avait même une version PC qui se payait le luxe d’être plus rapide en interprété que le basic microsoft en compilé (test SVM)

              Enfin faute de grives on mange des merles comme dit le proverbe ...

        • sandy keelow
          sandy keelow répond à bozox
          développeur
          • Posté à 21h09 le 04/09/2012
          • Internaute 131307
            développeur

          Euh le PHP pour les mômes non plus par pitié !
          Et puis le C y’a que des « effets de bord » dans cette merde (et on ne parle pas de navigation de plaisance ^^...)
          De nos jours le mieux pour apprendre je pense sincèrement que c’est le javascript, d’abord y’a pas besoin d’outils spéciaux (pas de compilateur etc...) et on peut éditer le source dans le notepad et même sur certains sites webs directement, y’a des structures des objets et tout ce qu’il faut, et le DOM pour s’exprimer graphiquement ; -)
          On peut mettre les mains dedans et voire le résultat tout de suite ce qui est un avantage certain, concept cher à Georges Charpak pour ne citer que lui...
          Sinon historiquement le RPL des calculatrices HP c’est ce qui m’a appris le plus...

        9 autres commentaires
      • sandy keelow
        sandy keelow répond à Anze
        développeur
        • Posté à 22h24 le 04/09/2012
        • Internaute 131307
          développeur

        Je suis en partie de votre avis mais si des jeunes ont du mal à aligner trois mots ce n’est pas à cause de l’éducation nationale mais de leurs parents d’une part et des media d’autre part (la star’ac et facebook n’apprennent pas l’orthographe : surpriiise !)...
        Je fais presque partie des « anciens » et j’ai eu de bons instits et de bons profs mais je suis conscient que 90% de ma culture et de mes capacités, en orthographe par exemple, viennent de mes lectures personnelles et pas de l’école...
        J’ai mon petit voisin qui se retrouve à 12 ans en établissement spécialisé (heureusement plutôt bon) alors qu’à mon avis son problème principal en dehors de trop regarder la télé et trop jouer aux jeux video (surtout chez moi ^^) il n’y a aucun livre chez lui et surtout ses parents n’ont pas réussi à l’obliger à s’ennuyer !
        Des gens très bien super gentils et tout, d’ailleurs le gamin est bien éduqué plus poli que la moyenne même, mais voilà il ne s’ennuie jamais, quand il sent qu’il va s’ennuyer soit il fait du vélo soit il vient chez moi jouer aux Sims (quand il est de bonne humeur ou sinon à Crysis ^^) hors on réfléchit et on apprend beaucoup quand on s’ennuie, surtout s’il n’ya rien d’autres que des bouquins à portée de main (ou un internet bloqué sur wikipedia ^^) !

  • bozox
    • Posté à 12h17 le 04/09/2012
    • Internaute 28752

    OK c’est bien.

    Mais il faudrait aussi enseigner la dactylographie à TOUS les élèves, dès le collège. Ou comment doper la productivité du pays pour pas cher... (quiconque a déjà déposé une plainte au commissariat du coin me comprendra !)

    • alpha3
      alpha3 répond à bozox
      france
      • Posté à 22h18 le 04/09/2012
      • Internaute 101411
        france

      Ben ca c’est facile... remercions tous gerard ledu
      Lien

  • migloo
    migloo
    anarcho-élitiste de pacotille
    • Posté à 12h17 le 04/09/2012
    • Internaute 90438
      anarcho-élitiste de pacotille

    Mieux comprendre l’informatique ne peut pas faire de mal mais si nous ne voulons pas être réduits à l’état de hamsters cela ne suffit pas : il faut savoir s’en passer ou au moins la tenir à bout de bras.
    Le vrai apprentissage plus que jamais nécessaire face à l’intrusion de l’informatique dans ses aspects les plus débilitants ce serait d’acquérir l’esprit critique. C’était justement une des qualités du latin pas si désuet que vous ne semblez le croire en le qualifiant de langue morte.

    • bozox
      bozox répond à migloo
      • Posté à 12h19 le 04/09/2012
      • Internaute 28752

      ou de l’histoire et de la philo...

      par ailleurs on peut mieux se passer de l’informatique quand on comprend ce qu’elle fait et comment

      • migloo
        migloo répond à bozox
        anarcho-élitiste de pacotille
        • Posté à 13h11 le 04/09/2012
        • Internaute 90438
          anarcho-élitiste de pacotille

        « on peut mieux se passer de l’informatique quand on comprend ce qu’elle fait et comment »

        C’est bien ce que je voulais dire : mieux la comprendre pour être capable de s’en affranchir.

    • Martin Untersinger
      Martin Untersinger répond à migloo
      Auteur(e) de l'article Journaliste Rue89
      • Posté à 12h26 le 04/09/2012
        rédacteur
      • 130873
        Journaliste

      Je n’ai pas dit qu’elle était désuette, j’ai dit qu’elle était morte !

      • Hulk
        • Posté à 12h55 le 04/09/2012
        • Internaute 191990

        désuette

         ; -)

         1 autres commentaires
      • migloo
        migloo répond à Martin Untersinger
        anarcho-élitiste de pacotille
        • Posté à 13h04 le 04/09/2012
        • Internaute 90438
          anarcho-élitiste de pacotille

        Vous l’avez enterrée mais elle n’est pas morte.
        Ou alors il y a beaucoup de nécrophiles.

         
        • Martin Untersinger
          Martin Untersinger répond à migloo
          Auteur(e) de l'article Journaliste Rue89
          • Posté à 14h55 le 04/09/2012
            rédacteur
          • 130873
            Journaliste

          Bon, alors donnez-moi une définition de langue morte et langue vivante, et je modifie l’article en conséquence.

          Ou mieux, donnez-moi le mot à utiliser pour parler d’une langue que personne – ou une partie infime de la population – ne parle au quotidien.

        1 autres commentaires
  • A déménagéle 14-12-2012
    • Posté à 12h22 le 04/09/2012
    • Internaute 119490
      Etudiant

    Introduire de l’informatique au lycée est une bonne idée (même si j’en avais déjà dans les années 2000, option IESP en seconde), mais il semblerait que la « pensée computationnelle » pourrait ne pas être à la portée de tout le monde :

    The Camel has two humps (en anglais) :
    Lien (article de blog)
    Lien (papier en question)

    • gazette
      gazette répond à A déménagéle 14-12-2012
      Chirurgien d'Autiste (en salle (...)
      • Posté à 11h24 le 05/09/2012
      • Internaute 189500
        Chirurgien d'Autiste (en salle (...)

      « il semblerait que la “ pensée computationnelle ” pourrait ne pas être à la portée de tout le monde »
      _________________________________________________________________

      à part faire la vaisselle, vous connaissez quelque chose qui soit « à la portée de tout le monde » ?

      apprendre une langue (de toutes mes expériences la plus longue et la plus difficile. Ok, peut-être l’anglais, une langue à la grammaire réduite au maximum et au vocabulaire réduit à 1000 mots que tout le monde connait, pas trop dur. Mais sinon...)

      apprendre un instrument de musique (idem : bcp de temps, bcp d’abnégation, bcp de « pensée instrumentationelle » en plus de la « pensée musicale » et bcp de talent aussi)

      dépasser le niveau 0 en maths (qd je vois certains ministres bloqués devant une règle de 3 et qd j’entends certains journalistes témoigner de leurs sueurs froides face à un a²+b²=... j’hallucine mais bon : ça existe et ce n’est pas rare du tout).

      comprendre les rouages de l’Histoire, les rapports de force sociaux, territoriaux...

      l’économie : à la portée de tous, y compris des économistes les + grands qui ne cessent de se planter

      la philo : à la portée de tout ado ? (dont les 3/4 vivent dans des conditions peu propices à la mise à distance du réel)

      et la langue maternelle : vous connaissez quelqu’un qui sache l’écrire à l’issue de son second degré ? Eh oui, la pensée « syntaxicationnelle », vous savez, pas à la portée de tous.

      Et pourtant, on insiste comme des cons à vouloir enseigner tout ça A TOUS ! !

      Pour la « pensée computationnelle », mes formateurs (années 80 et après le bac au gré de formations professionnelles) annonçaient la couleur ainsi :

      _« Si vous êtes bon en maths ça ne vous servira à rien. Si vous n’êtes pas bon en maths c’est pas grave ça n’a aucun rapport.
      En revanche si vous étiez bon en latin : vous aurez des facilités. »

      Bon, on ne fait plus de latin mais je confirme : il serait grave de réserver cet enseignement aux filières « scientifiques » et écarter les amateurs de langues, rompus à la « rigueur syntaxique ». Et pour le latin, je confirme également : quand on en a fait, l’initiation aux langages informatiques est du beurre.

      en revanche, les maths étant également un langage, je ne suis pas d’ac avec ce que disait mon formateur des années 80.

  • AntonyToku
    AntonyToku
    Pokerplayer
    • Posté à 12h27 le 04/09/2012
    • Internaute 137465
      Pokerplayer

    Désolé de le dire ainsi mais pour moi, jeune passionné « d’informatique », enseigner l’informatique à l’école ne veut rien dire.

    L’informatique n’est pas la science des ordinateurs ! Enseigner l’informatique peut être enseigner l’histoire de l’informatique. Enseigner l’assemblage des systèmes informatiques, enseigner la programmation informatique, ensuite, il y a une différence entre la partie logiciel et matérielle... L’informatique c’est trop vaste.

    On donne déjà une base qui bien qu’insuffisante à au moins le mérite d’être initiatique (technologies, algorithme). Les intéressés apprendront seuls. Le seul moyen de devenir très bons dans un domaine en France c’est de ne pas compter sur l’éducation nationale pour faire de nous un génie dans ce domaine.

    Un « informaticien » trouvera qu’il manque des heures d’informatiques à l’école, un musicien des heures de musiques, un historien des heures d’histoires etc...

    • Bob Moog
      Bob Moog répond à AntonyToku
      Voltage Controlled
      • Posté à 12h33 le 04/09/2012
      • Internaute 136928
        Voltage Controlled

      C’est exact, à la limite qu’on leur apprenne à l’école la logique du if ... then ou du for ... do, et après ils devraient pouvoir se débrouiller.

      • nicolas.boulay
        nicolas.boulay répond à Bob Moog
        ingé
        • Posté à 15h53 le 04/09/2012
        • Internaute 94389
          ingé

        Vous savez qu’il est possible de faire du code sans for...do et sans if ?

         
        • psych0Dad
          psych0Dad répond à nicolas.boulay
          sociopathe
          • Posté à 17h55 le 04/09/2012
          • Internaute 81504
            sociopathe

          Quand j’etais mome on programmait en Basic et on utilisait GOTO. Ca faisait pleurer les gourous de la « programmation structuree ». Mais leurs while, for, do until, ... une fois traduits en langage machine ce ne sont plus que des GOTOs (JMP, JNZ, JNE, ...)
          Il y a meme une instruction goto en C mais c’est tabou. Je n’ai jamais vu personne l’utiliser.

          • nicolas.boulay
            nicolas.boulay répond à psych0Dad
            ingé
            • Posté à 22h01 le 04/09/2012
            • Internaute 94389
              ingé

            Il y en plein dans le code de linux par exemple. Car c’est le moyen le plus propre de gérer un point unique de sortie pour un cas d’erreur en C. C’était interdit car le plus souvent c’était souvent très mal utilisé. Cela conduisait à rendre le suivi du déroulement du programme complètement illisible et donc à entrainer des bugs.

            Cela n’a donc rien à avoir avec les instructions cpu qui seront utilisés ensuite. Le problème a avoir avec la lisibilité du code source.

            Je pensais à la programmation fonctionnel qui adore la récursion terminal et le filtrage.

          • sandy keelow
            sandy keelow répond à psych0Dad
            développeur
            • Posté à 23h41 le 04/09/2012
            • Internaute 131307
              développeur

            Tout à fait, d’ailleurs j’ai eu récemment à coder un démultiplexeur mpeg dans lequel j’ai dû mettre, non sans un certain plaisir pervers, un GOTO en C ; -)

        • troll.errant
          troll.errant répond à nicolas.boulay
          AncienOisifRetraite
          • Posté à 18h06 le 04/09/2012
          • Internaute 189429
            AncienOisifRetraite

          Je pense en effet qu’il serait bon que les scientifiques reprennent des cours de littérature, cela leur éviterait d’écrire des horreurs de cette sorte « Vous savez qu’il est possible de faire du code sans for...do et sans if ? », j’ai toute ma vie programmé en assembleur 360 et suivant, et effectivement je n’ai jamais écrit « IF ... Then ... ELSE », pour moi un conditionnel revenait à écrire : « CLC zone1,zone2 ; BC xx,then , si condition non remplie aller à “then” ; instructions si (if in english) condition remplie, B suite , aller à 1ere instruction après conditionnel ; “then” , instructions si condition non remplie ; suite.
          J’ai intentionnellement utilisé le label “then” pour la suite d’instructions en dépendant, pour bien montrer que quel que soit le langage que l’on utilise, ou l’instruction que l’on emploie, en C C++ cela peut être du CASE il me semble, cela revient toujours à faire du IF THEN ELSE ,même si on ne les écrit pas.

          • nicolas.boulay
            nicolas.boulay répond à troll.errant
            ingé
            • Posté à 18h14 le 04/09/2012
            • Internaute 94389
              ingé

            Désolé d’avoir pris des raccourcis pour l’écriture, mais je pense que les lecteurs ont compris que je parlais des boucles impératives et des structures conditionnels.

            Pour remplacer les boucles, il est possible de faire de la récursion et pour remplacer les « if », il y a le filtrage qui est bien une version « on steroïd » du CASE du langage C.

            • troll.errant
              troll.errant répond à nicolas.boulay
              AncienOisifRetraite
              • Posté à 21h13 le 04/09/2012
              • Internaute 189429
                AncienOisifRetraite

              Désolé moi aussi, et bien plus que toi, mais mon langage informatique accuse mon age, alors quand on emploi des termes nouveau pour désigner la même chose, récursion pour boucle, filtrage pour structure conditionnelle, cela revient pour moi à changer PTT en P & T, dans les 2 cas ça distribue le courrier.

              • nicolas.boulay
                nicolas.boulay répond à troll.errant
                ingé
                • Posté à 21h56 le 04/09/2012
                • Internaute 94389
                  ingé

                Bien sur, et la viande, c’est du poisson et les patates des légumes verts.

                • troll.errant
                  troll.errant répond à nicolas.boulay
                  AncienOisifRetraite
                  • Posté à 22h06 le 04/09/2012
                  • Internaute 189429
                    AncienOisifRetraite

                  Peu être pas, mais dans tous les cas on a affaire à de la nourriture, d’origine animale (boucle FOR) pour les 2 premiers, végétale (structure conditionnelle) pour les 2 suivants.
                  Ce n’est pas en changeant le sens des mots, ou en en inventant de nouveau, que l’on change la chose.

                  • nicolas.boulay
                    nicolas.boulay répond à troll.errant
                    ingé
                    • Posté à 22h25 le 04/09/2012
                    • Internaute 94389
                      ingé

                    un compteur des 2 façons :
                    let loop n =
                    let count = ref 0 in
                    for i = 1 to n do
                    count : = ! count * 2
                    done ;
                     ! count

                    let loop n =
                    let rec loop_ a =
                    match a with
                    | i with i = n -> a * 2
                    | _ -> loop_ (a * 2)
                    in
                    loop_ n

                    avec un filtre basique au milieu

                    • troll.errant
                      troll.errant répond à nicolas.boulay
                      AncienOisifRetraite
                      • Posté à 22h55 le 04/09/2012
                      • Internaute 189429
                        AncienOisifRetraite

                      C’est beau, mais comme je l’ai précisé, comme ma machine, je ne parle que l’assembleur, alors pour moi tes 2 façons d’écrire se traduisent par les même instructions machine.
                      Appelles cela comme tu veux, c’est exactement la même chose.
                      L’inventeur de l’algorithmique n’a certainement jamais employé les termes de boucle et structure conditionnelle, il s’exprimait en Arabe, mais le concept y était et depuis tous les 4 matins, des ingénieurs, pour prouver qu’il sont meilleurs que les autres, le réinventent en lui changeant son nom.

                      • nicolas.boulay
                        nicolas.boulay répond à troll.errant
                        ingé
                        • Posté à 23h02 le 04/09/2012
                        • Internaute 94389
                          ingé

                        Mélanger appel de fonction récursive et boucle, c’est vraiment n’importe quoi.

                        • troll.errant
                          troll.errant répond à nicolas.boulay
                          AncienOisifRetraite
                          • Posté à 23h31 le 04/09/2012
                          • Internaute 189429
                            AncienOisifRetraite

                          C’est vrai ce n’est pas la même chose, on a d’un coté : l’initialisation du nombre d’iterations, les instructions a executer, test si le nombre d’iterations est réalisé, si non réalisé retour au debut des instrustion à executer ; de l’autre : initialisation nombre d’iterations, instructions a executer, test si nombre d’iterations réalisé, si non réalisé retour au debut des instrustion à executer. Effectivement il y a une grosse difference.

                        • sandy keelow
                          sandy keelow répond à nicolas.boulay
                          développeur
                          • Posté à 00h31 le 05/09/2012
                          • Internaute 131307
                            développeur

                          En informatique il n’y a pas de fonctions récursives, il y’a des « routines », qui sont réentrantes ou pas, on les appelle en boucle ou pas, on conserve la valeur qu’elles retournent ou pas...
                          Une routine réentrante qu’on appelle en boucle en conservant la valeur de retour peut en effet constituer ce que certains appellent une fonction récursive...

            • sandy keelow
              sandy keelow répond à nicolas.boulay
              développeur
              • Posté à 00h09 le 05/09/2012
              • Internaute 131307
                développeur

              Le CASE du langage C n’a pas d’existence réelle en dehors du C, il finit toujours soit par un « cmp, jz » en assembleur soit au mieux après optimisation par un saut à l’aide d’une table de pointeurs mais là c’est déjà « the » compilo...
              Par ailleurs tu m’expliqueras comment tu fais de la récursion sans boucles ^^...

          • sandy keelow
            sandy keelow répond à troll.errant
            développeur
            • Posté à 23h54 le 04/09/2012
            • Internaute 131307
              développeur

            En effet, j’ai moi même particulièrement apprécié la fonction DBxx des processeurs 68000 (decrement and branch + condition) bien plus facile à utiliser à la main qu’en C ^^

        16 autres commentaires
  • Aller à la page
  • 1
  • 2
  • 3
  • 7
Verbes thématiques