En ce moment

La programmation, latin du futur ?

Posté le 26 décembre 2013
par La rédaction
dans Informatique et Numérique

Dans un récent article, Anna Lietti fait le point sur une question qui fait son chemin un peu partout : pour former des citoyens «informatiquement éclairés», l’école doit-elle enseigner à tous le b. a.-ba de la programmation ?

Selon certains comme Bernard Stiegler, les enfants du numérique ont une « expérience rusée » du fonctionnement des machines, mais leur approche intuitive approche vite ses limites et ne leur permet pas de dominer la machine. Or cette domination est nécessaire pour contrôler notre monde, de plus en plus automatisé, numérique et interconnecté. On le voir avec l’affaire PRISM : contrôler La Machine, c’est avoir le pouvoir sur ses utilisateurs…

Des précurseurs comme Seymour Papert (élève de Jean Piaget) se sont intéressés dès les années 1960 à la pédagogie de l’informatique et inventé des outils comme le langage Logo pour initier à l’algorithmique et à la programmation procédurale dès l’enfance. Pourtant, 50 ans plus tard, aucun pays n’intègre la programmation au cursus scolaire primaire, et peu le font au niveau secondaire, et la branche y est rarement obligatoire.

En Grande-Bretagne, suite à un rapport de la Royal Society intitulé « Shut down or restart » qui jugeait l’enseignement de l’informatique tellement insatisfaisant qu’il aurait mieux valu ne rien faire, la décision a été prise d’initier les enfants dès 5 ans à la programmation dès la rentrée 2014 et que la programmation devienne une branche obligatoire du baccalauréat au même titre que la physique ou la chimie.

En France aussi, un récent rapport de l’Académie des Sciences vient de recommander d’aller plus loin que la récente (ré)introduction de la spécialité « informatique et sciences du numérique » en terminale S, en incluant « une initiation aux concepts de l’informatique » dès l’école primaire , puis « un véritable enseignement d’informatique, qui ne soit pas noyé dans les autres enseignements scientifiques et techniques, mais développe des coopérations avec ceux-ci dans une volonté d’interdisciplinarité » au collège, puis « proposer un enseignement obligatoire d’informatique en seconde » au lycée.

Plusieurs initiatives se développement également  en Suisse, notamment :

Pour ma part, voici les quelques leçons que je tire de ma maigre expérience de l’enseignement de la programmation des deux côtés de la barrière:

Donc je ne crois pas à l’introduction de la programmation au primaire. Et sans programmation, pour quoi « faire de l’informatique » ? Et plus tard, au collège et au lycée, à quoi bon enseigner la programmation si on ne veut pas former des armées de programmeurs ?

La programmation, latin du futur ?

C’est un paragraphe de l’article qui a particulièrement retenu mon attention :

L’idée n’est donc pas de former de futurs programmeurs, mais d’initier les enfants à un langage programmatique simple pour les familiariser avec la logique informatique. Les adeptes de cet enseignement ne tarissent pas d’éloges sur ses vertus pédagogiques. La programmation apprend à penser un problème jusqu’au bout, à construire des processus qui marchent en apprenant de ses erreurs. (…)

Et encore: le langage informatique enseigne à penser logiquement et systématiquement. «Peu de disciplines nécessitent une telle rigueur mentale», observe Jürg Kohlas. Bien sûr, les langues programmatiques** sont multiples et mouvantes. Mais quand on en a appris une, il est facile de se familiariser avec les suivantes.

Ça ne vous rappelle rien? Ne croirait-on pas entendre parler du latin? «La programmation est bel et bien un langage avec un vocabulaire, une grammaire, une syntaxe, acquiesce Juraj Hromkovic. Mais il y a une grosse différence avec les langues naturelles: la plupart des gens ne savent même pas qu’ils ont affaire à un langage.»

Dans mon esprit de lycéen des années 1980, la programmation n’avait rien, mais alors RIEN à voir avec la langue morte infligée aux fils d’avocats par des curés nostalgiques. Mais avec le recul, je partage le point de vue gens qui connaissent le latin et la programmation comme Tyler Plack,

Ecrire en latin ou programmer un ordinateur requièrent tous deux une compréhension qui dépasse la pensée humaine complexe et la simplifie. De tels processus sont ce qui nous permet de penser clairement; ils font de nous qui nous sommes.

Donc oui, il faut enseigner la programmation aux lycéens, même si « ça ne sert à rien », comme le latin. Faut-il en faire une branche obligatoire du bac ? Certainement, au moins pour ceux qui ne font pas de latin.

Parce que combiner les deux peut donner des idées trop bizarres. Damian Conway par exemple en a été perturbé au point d’écrire un module perl définissant des alias latins pour tous les éléments du langage, ce qui permet de rendre ce code :

use Lingua::Romana::Perligata;

maximum inquementum tum biguttam egresso scribe.

meo maximo vestibulo perlegamentum da.

da duo tum maximum conscribementa meis listis.

dum listis decapitamentum damentum nexto

    fac sic

        nextum tum novumversum scribe egresso.

        lista sic hoc recidementum nextum cis vannementa da listis.

cis.

parfaitement valide et absolument équivalent à celui-ci:

 

print STDOUT ‘maximum:’;

my $maxim = ;

my (@list) = (2..$maxim);

while ($next = shift @list)

  {

    print STDOUT $next, « n »;

    @list = grep {$_ % $next} @list;

 

  }

Et si après Astérix,  la programmation permettait de moderniser l’enseignement du latin ?

Par Philippe Guglielmetti dit « Dr Goulu »
Blog Pourquoi Comment Combien

Découvrez la base documentaire : Langages de programmation


Pour aller plus loin