La programmation est introduite au lycée l’an prochain. Or on manque de langages pour initier les élèves. PureBasic pourrait occuper ce créneau à condition d’être adapté.
Je suis prof de math. Je voulais vous signaler ceci : en seconde, l'an prochain, le nouveau programme de mathématiques (fraîchement publiés) introduit de "l'algorithmique". Il va donc y avoir une demande très forte pour un langage simple, accessible au débutant (je ne parle pas que de l’élève : mes collègues ne sont pas tous des fanas de programmation et de fait, ce n’est pas leur métier), mais offrant aussi la possibilité d'évoluer à ceux qui seront intéressés.
Or pour l’instant, il n’y a rien qui convienne. J’ai testé des tas de trucs, mais qui sont inadaptés. Cela fait plusieurs années que j’initie les élèves à la programmation (sans que les textes officiels ne me demandent rien, d’ailleurs, et c’est même peut-être pour ça) et j’ai eu le temps de faire un peu le tour de la question.
Lorsque j’étais élève en troisième, l’Amstrad venait d’arriver. J’avais de nombreux camarades qui, comme moi, s’amusaient à programmer en Basic. Dès la première ligne, il se passait quelque chose, on avait envie de continuer. C’était simple, on n’était pas bloqué dès le début par des trucs à déclarer, une fenêtre à ouvrir, un écran graphique à initialiser, un pilote à mettre à jour. Le manuel était très bien foutu. La vie était simple.
Et puis le troisième millénaire est advenu. Pas de voitures volantes, ni de robot pour faire mon ménage. Mon ordinateur a un microprocesseur trois mille fois plus rapide et une mémoire trois millions de fois plus grande, mais il boote trente fois plus lentement. Le TO7 a disparu, c’est déjà ça.
Aujourd’hui, pour tracer un bête segment, même en PureBasic il faut préalablement entrer quatre lignes :
Code : Tout sélectionner
InitKeyboard()
InitSprite()
OpenWindow(0,0,0,400,400,"Tracer un segment",#PB_Window_TitleBar)
StartDrawing(WindowOutput(0))
La preuve de ce que j’avance, c’est qu’aujourd’hui, dans mes deux classes de seconde (où il y pourtant des esprits vifs et curieux), aucun élève n’avait jamais écrit la moindre ligne de programme avant que je ne leur montre (leur eusse montré) de quoi il s’agissait. Pour prendre une comparaison, il y a toujours autant de lycéens guitaristes autodidactes, mais presque plus qui programment par eux-même. Vous allez me dire que le prof n’a qu’à balancer les quatre lignes en question et dire à l’élève de ne pas s’en préoccuper pour commencer, mais c’est oublier que le prof lui-même est souvent un débutant.
Résultat : puisqu’il va bien falloir s’y mettre, des petits malins vont nous pondre vite fait des petit langages ineptes, genre logo bâclé ou SmallBasic et les vendre à prix d’or aux établissements. Et ces malins vont gagner beaucoup d’argent. Ce n’est pas un mal en soi, mais je préfèrerais que cet argent aille dans la poche de quelqu’un qui le mérite (par exemple le concepteur de PureBasic). Je voudrais surtout que les élèves débutent avec un langage qui leur donne envie d’aller plus loin.
Pure Basic a des atouts indéniable pour occuper ce créneau. Si une génération d’élève était formée avec, cela serait, pour sa promotion, tout bonnement inestimable. Pour l’instant, je trouve que ce langage n’a pas la reconnaissance qu’il mérite.
Les atouts de Pure Basic (pour ce qui nous concerne ici) sont :
- Il s’appelle « Basic ». Certains ont souligné que ce nom pouvait le desservir auprès des pros, ici c’est un avantage.
- Il est écrit par un français.
- L’aide est en français et très claire. C’est fondamental.
- Il garde du Basic une certaine simplicité (relative).
- Il ressemble pas mal au Pascal, langage à connotation pédagogique, que de nombreux profs ont abordé en fac.
- Il est assez bien référencé sur le net, avec des avis très positifs. On sent qu’il a ses partisans enthousiastes, ça donne envie.
- Il permet, une fois qu’on a passé l’étape d’initiation, de s’amuser vraiment sans se prendre la tête.
- Il permet, une fois qu’on s’est amusé, de faire à peu près ce qu’on veut.
- Il commence à avoir un passé, donc il a fait ses preuves, donc il a un avenir. C’est important, parce qu’on a pas envie de se lancer avec un langage qui risque de disparaître dès le lancement d’un nouveau Windows. Là, on peut compter sur des mises à jour. Il faut penser à ceux qui, comme moi, se remettent à programmer en dilettante et qui en ont marre de récrire régulièrement leur jeu de la vie tous les cinq ans.
Plus les avantages bien connus des pros (comme la portabilité).
Les inconvénients sont ;
- Avant d’écrire son premier programme, il faut déjà avoir une idée de ce qu’est la programmation et s’être bien baladé dans l’aide.
- C’est un langage compilé (mais là, c’est comme ça).
- Le Chuckie Egg en pure basic est certes méritoire, mais n’a pas la sobre perfection de celui de l’Amstrad.
Je propose donc quelques idées (j’en ai d’autres, si ça vous intéresse) :
-Ajouter à Pure Basic, dans sa version de base (sans que le programmeur ait besoin d’introduire une nouvelle bibliothèque), quelques instructions permettant au débutant de se lancer immédiatement, en UNE ligne, aussi bien pour du texte que pour des dessins. Qu’on puisse tracer un segment directement, en une instruction. Rien à ouvrir rien à déclarer.
Idéalement, il faudrait assurer la transition avec les calculatrices programmables.
-Une Console plus élaborée. Par exemple, avec une fonction Input() qui permette d’entrer des nombres directement sans avoir à manipuler des chaînes. Idem pour Print(). Une fenêtre moins rudimentaire. La possibilité d’afficher des accents.
-Un site dédié aux enseignants non programmeurs, dont l’existence serait signalée sur les forums des profs (comme celui de l’APMEP).
-Un manuel très pédagogique (idéalement, à terme, disponible en version papier), avec de très petits programmes didactiques conçus pour les vrais débutants en programmation.
-Rendre dans un premier temps la version de démonstration gratuite pour les établissements (je ne me vois pas demander dès aujourd’hui à mon établissement de payer 79 euros par poste alors que mes collègues ne sont pas convaincus d’avance et vont peut-être réclamer un logo ou exiger du gratuit). Il suffirait que le message au lancement annonce la gratuité jusqu’à une certaine date, par exemple. On pourrait imaginer une version spéciale pour les établissements scolaires. Ou une première version gratuite avec mise à jour payante.
Sur le plan strictement informatique, je ne crois pas que le boulot serait monstrueux, comparé à tout ce qui a déjà été fait. On peut, pour commencer doucement, juste introduire quelques fonctions de plus.
Sur le plan ergonomico-pédagogique, il faudrait surtout ne pas transiger avec le principe de simplicité. Quand je dis qu’il faut pouvoir débuter en une ligne, c’est pas en deux lignes. Encore une fois, pour un programmeur chevronné, il n’y a pas de différences. Pour un débutant, ça change tout.
Sur le plan de la promotion, je ne sais pas trop. Peut-être que ce sont des lobby déjà prêts à bondir qui ont obtenu qu’on introduise l’algorithmique dans les programmes. Comme Texas, par exemple. Ou peut-être qu’au contraire proposer une collaboration à Texas est une voie à explorer.