next up previous contents
Next: 4.1.3 Les acteurs Up: 4.1 Le cours Pasteur Previous: 4.1.1 Origine et constitution

4.1.2 L'idée générale

Il devrait être possible de programmer sans posséder une formation informatique complète : cela s'appelle la « programmation par l'utilisateur final », c'est un domaine très prometteur auquel Catherine Letondal consacre un travail de recherche dont on lira la description au chapitre 5. On peut citer comme illustration de cette notion des logiciels comme Mathematica ou le système statistique SAS qui permettent à l'utilisateur non-informaticien de programmer effectivement ses applications. Depuis l'apparition de SAS (et d'autres logiciels qui s'en sont inspirés), les statisticiens résolvent eux-mêmes leurs problèmes informatiques. Évidemment ce système a des limites, on ne peut programmer avec SAS que dans un cadre peu ou prou prévu à l'avance par ses auteurs, en assemblant des procédures déjà préprogrammées, mais c'est pour cela que c'est relativement simple et la communauté semble en être satisfaite. Par opposition, les langages informatiques classiques sont censés être suffisamment puissants pour décrire n'importe quel algorithme (c'est ce que l'on appelle l'équivalence turingienne) et suffisamment précis pour accéder à chaque élément de l'architecture de von Neumann.

Fournir des outils de programmation par l'utilisateur final aux biologistes sera un progrès considérable, mais il ne faut pas oublier de former ceux qui écriront l'outil, qui eux doivent savoir programmer dans un contexte plus général.

Le parti-pris à l'origine de notre cours considère que l'informatique est une science, dotée de concepts et de théories, susceptible d'un enseignement systématique et d'une vision générale. L'idée peut exister dans le grand public que l'informatique soit une collection décousue de trucs à acquérir empiriquement au fil des coups de souris. À mi-chemin, l'informatique de « l'utilisateur final » consciencieux d'un logiciel de traitement de texte ou d'analyse biologique, comme le dira mieux Catherine Letondal, est peut-être une collection systématique de méthodes apprises au fil de l'expérience grâce à une interface judicieuse du logiciel, à la lecture de sa documentation et à des échanges avec des collègues.

Le c\oeur de la compétence informatique réside dans la programmation, sa théorie et sa pratique. Chaque ordinateur possède un « langage-machine », de très bas niveau puisqu'il commande directement les entrées des circuits logiques. Par rapport à ce langage primitif très incommode, tout langage de programmation est un méta-langage qui manie des abstractions plus ou moins bien adaptées à tel ou tel problème. Choisir un langage doté d'un niveau d'abstraction et d'un pouvoir expressif adaptés à l'objectif poursuivi n'est pas facile. L'objectif ici est de donner aux élèves une vision de la programmation suffisamment précise pour pouvoir analyser tout algorithme et suffisamment générale pour qu'elle puisse s'adapter à des systèmes de calcul variés, présents et futurs.

On ne peut nier qu'une grande partie des programmes informatiques qui existent ont été écrits par des programmeurs peu ou mal formés dépourvus de la maîtrise de leur art. Leur pratique ne saurait être considérée comme un but à atteindre, et encore moins comme un modèle pédagogique.


next up previous contents
Next: 4.1.3 Les acteurs Up: 4.1 Le cours Pasteur Previous: 4.1.1 Origine et constitution