A propos du choix du langage de programmation

De Sciencinfolycee
Révision datée du 19 novembre 2011 à 15:11 par Vthierry (discussion | contributions) (A propos du choix du langage de programmation)
Aller à : navigation, rechercher

A propos du choix du langage de programmation

«Quel[s] langage[s] les profs vont utiliser pour les TP de programmation ?» voilà peut-être la 1ère et la plus fréquente question que nous nous posons y compris sur notre forum et c'est un sujet qui peut alimenter de longs débats.

Paradoxalement, il y une réponse assez simple à cette question: «Nous devons rester agnostique et choisir un langage standard et ouvert, bien supporté et avec une base impérative»:

  • Choisir un langage à une base impérative, c'est à dire avec les ingrédients usuels des algorithmes (séquence d'instruction, instruction conditionnelle, affectation de variables et boucles).
  • Choisir un langage standard, ouvert et bien supporté (ex: Java ou Python probablement JavaScript à l'avenir) quitte à utiliser une version simplifiée de ce langage pour démarrer.

Un autre point clé est Avec quelle logiciel/plateforme travailler ? car au delà du langage c'est bien évidemment l'outil qui permet de l'utiliser qui est le levier: la plateforme [IOI] est un bel exemple, tandis que Python vient avec son utilitaire de développement et Java'sCool permet de programmer en Java.

Que faut il éviter alors au niveau de l'ISN ?

  1. Les langages non impératifs, par exemple les langages fonctionnels, qui sont des abstractions vraiment intéressantes mais scientifiquement différentes des fondements algorithmiques qui sont à faire partager
  2. D'autres outils logiciels (calculateurs symboliques, calculettes programmables, environnement graphiques de programmation, ..) qui certes permettent de programmer et d'apprendre à programmer mais
    • comportent des bizarreries (ex: la sémantique de l'affectation n'est pas la même dans un calculateur symbolique qui a d'autres fins)
    • ne permettent pas de relier la notion de langage à celle de programmation (ex: dans le cas d'outil de programmation graphique)
  3. Les langages "exotiques" et les "bricolages géniaux" : on va trouver sur le web beaucoup de plateformes artisanales qui n'ont que de petites communautés d'utilisateurs et risquent de ne pas survivre, donc de faire du temps à commencer à l'exploiter.