L’informatique a pris une telle importance dans le monde d’aujourd’hui qu’avoir quelques notions de programmation ne peut faire de mal à personne, même pas à ceux qui ne se destinent pas à une carrière dans l’informatique. Partant de ce constat, l’intégration de notions de programmation dans les cursus scolaires est à l’étude depuis quelques temps déjà, et devrait commencer à se concrétiser dès la prochaine rentrée.
Benoît Hamon, ministre de l’Éducation Nationale a en effet indiqué que l’intégration de la programmation dans les programmes est actée, et que les discussions portent désormais sur le contenu des programmes et sur les niveaux auxquels ces nouveaux apprentissages seront intégrés. Mais l’Éducation Nationale n’attendra pas la fin de ces discussion pour commencer à inculquer des bases de programmation à nos têtes blondes.
En effet, dès la rentrée, les élèves du primaire pourront s’ils le souhaitent utiliser leur « temps périscolaire » (le temps libéré par la dernière réforme des rythmes scolaires) pour participer à des séances d’initiation à la programmation dispensées par des associations partenaires de l’Éducation Nationale. L’intégration dans les enseignements obligatoires devrait pour sa part se faire au collège ou au lycée.
Reste à espérer que cette arrivée de la programmation au sein des programmes scolaires aura plus de succès que l’enseignement du LOGO sur TO5 il y a quelques décennies… Si les choses sont bien faites, ces enseignements pourraient tout de même être un gros plus pour les élèves, y compris dans d’autres matières, la programmation étant avant tout une question de modélisation du raisonnement logique, raisonnement qui peut être utile bien au delà de l’informatique.
Je ne sais pas pourquoi mais je sens que ça va encore se faire dans un langage bien propriétaire…
Pour ma part, même jusqu’à l’école d’ingé, je n’ai pas eu la moindre chance d’apprendre à programmer.
C’est franchement une grande frustration.Si j’avais su programmer en école d’ingé où on faisait plein de fois les mêmes calculs en ne changeant qu’un paramètre à la fois, ca aurait été très pratique.
Mais non, on apprenait des choses aussi inutiles que le calcul aux éléments finis… A la main.
J’ose espérer qu’une initiation à la programmation au niveau primaire ne se fera pas sur un langage particulier, mais ciblera plutôt la logique générale. C’est ça qui est le plus important et qui pourra le plus servir à ceux qui ne s’orienteront pas vers l’informatique par la suite.
Il y a des outils très bien adaptés pour ça, conçus pour l’enseignement des bases à des enfants, comme Scratch ( http://scratch.mit.edu/ ) ou Google Blockly, très similaire à Scratch sur le principe, mais pour un public un peu plus âgé, avec la possibilité d’exporter le code en JavaScript ou Python pour voir ce que ça donne dans un vrai langage.
Après, à un niveau supérieur, le choix du langage n’est pas forcément primordiale : un bon enseignement de la programmation forme un développeur capable de sauter facilement d’un langage à l’autre, pas un pisseur de code incapable de changer de langage. Parce qu’un développeur n’a absolument aucune chance de travailler toute sa carrière sur le même langage, aussi répandu soit-il a un instant donné, ne serait ce que parce qu’un langage de programmation est vivant et peut parfois énormément changer d’une version à l’autre. Et il n’est pas rare non plus de devoir travailler en simultané avec plusieurs langages (tiens, sur le projet où je suis actuellement par exemple, on a su Pyhton, du PHP, du JavaScript, du script bash, du SQL…), donc savoir s’adapter est très important.
Je ne sais pas trop quoi en penser.
Le fait que chaque ministre de l’éducation nationale veuille marquer son emprunte est un vrai problème. Est-il au courant que durant tout le secondaire les élèves font de l’algorithmique (au détriment) en cours de maths ? À lire ses communiqués la réponse est non.
La vraie question c’est, on veut apprendre les bases de l’informatique ok, mais au détriment de quoi ? Du français, des mathématiques, de l’histoire, de l’anglais… ?
Quand une personne qui ne sait pas coder tombe sur mon code, sa première réflexion est « c’est compliqué » quand je lui fais lire les commentaires, il comprend ce que ça veut dire.
Pour moi, il y a deux barrières à franchir en programmation, la première c’est la logique bien entendu. La seconde est de vaincre la peur de la ligne de code et la mise en place d’un « interpréteur/compilateur » jusqu’au « hello world ». Si elle n’est pas guidée dans ces deux étapes, il y a de fortes chances que la personne ne développe pas grand chose au final. Apprendre sans objectif final est quand même beaucoup moins motivant que d’apprendre pour apprendre, sans voir la finalité.
Pour ce qui est du langage de prédilection, pour mon cas, j’ai appris le PHP/SQL et c’est clairement le langage avec lequel je fais le plus facilement/rapidement les choses.
Quand il m’a fallu passer sur d’autres langages (C, JS, Python ou Matlab), j’ai eu à chaque fois un temps d’adaptation pour faire ce que je voulais.
Ce temps là n’est pas négligeable sur un projet.
J’ai justement un projet en PHP/JS/Python/SQL et avec Python, je vais beaucoup plus chercher sur internet pour python et parfois sans trop savoir comment demander à google alors qu’avec PHP, je sais directement ce que je veux.
Le « développeur du dimanche » qui a appris en VB aura tendance à se tourner vers le VB. C’est pas pire que de se calculer un calcul itératif à la main mais ça serait intéressant, quitte à partir de zéro, de se tourner vers le libre. Surtout que dans le domaine, il y a de quoi faire.