Que faut-il enseigner aux informaticiens ? Pourquoi ?
Communication ACM, Janvier 2010 par Bjarne Stroustrup, inventeur du C++

Un changement fondamental dans l’enseignement de l’informatique est nécessaire pour répondre aux besoins de l’industrie. Le génie logiciel doit être au coeur du développement des applications.

Quand ce n’est pas le cas, il faut faire confiance à l’expérience individuelle, aux recettes propre à chaque développeur, pour aboutir finalement à des systèmes informatiques moins puissants et moins fiables, qui coutent plus cher à réaliser et à maintenir...

"Nous avons besoin de changer l’enseignement pour développer des pratiques industrielles."
Il y a un fossé entre l’enseignement de l’informatique et les besoins de l’industrie. Comme l'illustre les dialogues ci-dessous...

Un professeur, fièrement: « Nous n’enseignons pas la programmation, nous enseignons l’informatique »
Un industriel: « Ils ne savent même pas faire 1+1=2 ! »
Tous deux ont raison et marquent chacun un point : ce n’est pas la mission de l’université de produire des « pisseurs de code » et l’industrie n’a pas besoin uniquement besoin de cerveaux scientifiques de haut niveau…

Le professeur: « Je n’ai jamais programmé »
L’industriel : « Nous n’embauchons pas d’informaticiens.»
« C’est plus facile d’apprendre à programmer à un ingénieur que d’apprendre la technologie à un développeur »
Le professeur a tout faux : on en peut pas enseigner quelque chose qu’on ne pratique pas, à plus forte raison quelque chose qu’on n’a jamais pratiqué ! D’un autre coté, l’industriel a raison, tout technicien diplomé, non informaticien peut arriver à programmer. Mais la qualité ne sera pas au rendez vous, à moins qu'il s'agisse de quelqu'un qui fait l’effort de se former réellement.

Le professeur, à propos d’un étudiant : « Il a accepté un poste dans l’industrie »
Un autre professeur, tristement : « Il était pourtant doué… »
Ces à prioris sont à l’origine de beaucoup de malentendus et facilitent pas la communication...
L’industrie a besoin d’informaticiens pour travailler sur des logiciels qui sont souvent anciens, complexes, avec des exigences élevées de fiabilité. Pourtant, la plupart des jeunes diplômés de l’informatique n’ont aucune expérience réelle de la programmation en dehors de ce qu’ils ont fait à titre personnel par passion.


Finalement, la programmation est considérée comme une corvée marginale et rarement comme une discipline à part entière, comprenant test systématique, maintenance, documentation et surtout travail collaboratif.
On voit ainsi des diplômés en algorithmie, structures de données et génie logiciel bidouiller des programmes en TP d’informatique sans aucun respect pour les algorithmes, les structure de données ou la méthodologie.
Le résultat, c’est des montagnes de code indémêlables…

"Pour beaucoup, l'informatique est devenue un étrange mélange d'astuces de codage et d’appel à des librairies dont on ignore le fonctionnement précis. Les notions de « qualité » et de « maintenabilité » sont mal comprises ou ignorées. Il est vraiment difficile de trouver des ingénieurs qui maîtrisent à la fois les technologies industrielles et l'architecture des logiciels..."


Barnje Stroustrup - Texte original traduit par Solti.



Réagir à cet article:  info@solti.fr


Les autres news Solti