Les Maths au lycée

L'essentiel pour le bac

Le langage Python est-il un bon choix?

Chaque professeur ayant quelques années d'ancienneté n'aura pas manqué de remarquer que le ministère de l'éducation nationale est des plus versatil, et ce particulièrement en ce qui concerne les programmes. Ces derniers changent parfois si rapidement que même les éditeurs sont dépassés.

Pourtant, l'élaboration des programmes, désormais fruit d'une longue réflexion de la part d'un très grand nombre de personnes, chapeautées par le conseil supérieur des programmes (dont la plupart des membres n’ont malheureusement qu’une connaissance très lointaine du domaine éducatif), devrait être lentement réfléchie, et finalement pérenne.
Il n'en est rien. Et les changements, les modifications ou les ajustements sont réguliers.

La raison de ces refontes répétées est simple: chaque nouveau ministre tente de marquer son époque, et aussitôt nommé, il demande à quelques hauts fonctionnaires de lui concocter une réforme qui entrera dans les annales. Nos chers bureaucrates s'attaquent aussitôt à ce qui fera le moins de vagues, tout en économisant si possible des heures de cours, à savoir les programmes.
Et voilà pourquoi nos inspecteurs qui, après avoir proclammé qu'Algobox était idéal, puis avoir affirmé que Scilab était encore mieux, nous expliquent que les élèves devront maintenant étudier Python.
Dont acte...

Mais ce langage présente-t-il un réel intérêt pour les lycéens, ou est-ce la nouvelle lubie d'un inspecteur général ayant de l'entregent?
Tentons de rester objectif!

Comparons tout d'abord Algobox à Python.
Algobox est un mini-langage algorithmique doté d’une interface simple et ergonomique. Il est parfait pour apprendre les bases de la programmation. Il est cependant très limité, et ne permet pas d'élaborer des programmes très complexes. D'ailleurs, il n'est jamais utilisé par les professionnels. Un élève qui a déjà programmé (sous Scratch par exemple) n'a pas besoin de passer par Algobox pour progresser. Les élèves arrivant en seconde ayant été initiés à l'informatique au collège n'ont donc pas besoin d'étudier Algobox.
Python est un langage informatique très complet utilisé par certains professionnels.
Son atout majeur est sa syntaxe très simple. Il a en effet été conçu pour être visuellement épuré, et les blocs d'instructions y sont identifiés par indentation, et non pas par accolades ou mots clés. Par ailleurs, les variables ne nécessitent pas de typage.
Ces qualités font de Python un langage parfait pour développer très vite un petit programme, ou même une application prototype, ce qui le rend indispensable à certains professionnels.
Et comme, par ailleurs, il est interprété, sa portabilité est largement améliorée (il est censé fonctionner aussi bien sous Windows que sous Linux ou Mac OS), et cela est une qualité très appréciée des informaticiens.
Par contre, cela le rend plus lent que les langages compilés comme le C++, ce qui est un handicap pour certains programmes particuliers (par exemple dans le traitement d'images). De plus, protéger le code source d'un programme en Python est difficile, ce qui nuit à sa commercialisation éventuelle.
Enfin, j'ajouterais que Python semble trop "permissif" pour des applications critiques.
Mais les inconvénients cités précédemment ne gênent que les programmeurs professionnels, et ce dans certains cas bien spécifiques.
Et finalement, Python est tout à fait adapté au perfectionnement en programmation, en particulier pour les élèves du lycée qui ont déjà été initiés à l'algorithmique en collège.
Evidemment, son côté professionnel le réserve davantage aux élèves des séries scientifiques.
Les autres pourront se contenter de programmer en BASIC sur leurs calculatrices.

Le Python présente donc un intérêt certain pour les lycéens des séries scientifiques. Mais existerait-t-il une alternative encore meilleure?

Que cherche-t-on? Un langage structuré mais simple, utilisé par de nombreux professionnels dans des domaines variés, de façon à ce que les étudiants puissent facilement réinvestir leurs connaissances ultérieurement.
Examinons donc quelques langages très utilisés de part le monde, et voyons s'ils conviennent.
Le C, le C#, l'Objective-C et le C++ sont très populaires, mais ils possèdent tous une syntaxe bien plus compliquée que celle de Python.
Le Java a beaucoup de points commun avec Python, mais il reste légèrement plus complexe d'utilisation.
Visual Basic a beaucoup de qualités: il est plus simple que les précédents et il est assez universel. Mais sa structure manque de rigueur, et il n'est pas freeware.
PHP sert essentiellement à produire des pages web dynamiques, et il lui manque donc l'universalité des langages précédents.
Et que dire de Scialab, préconisé il y a peu par l'éducation nationale?
Scialab est malheureusement peu utilisé par les professionnels, et il reste très orienté vers les calculs scientifiques. Son manque d'universalité le pénalise nettement.

En définitive, bien que la liste des langages examinés ne soit pas exhaustive, il me semble que le choix de Python est plutôt un très bon choix.
Les seuls langages qui peuvent lui tenir tête seraient, selon moi, le Java, et, si l'éducation nationale avait davantage de moyens financiers, le Visual Basic.

Copyright 2013 - maths-s.com - Toute reproduction interdite - Tous droits réservés.