"C'est trop difficile, un truc pour les vieux" semblent-ils dire.
C'est en tout cas l'enseignement que Michael Barr, rédacteur en chef du magazine "Embedded Systems Design", tire de son expérience.
L'étude qu'il a menée pendant plus de dix ans montre pourtant que ce langage est, de loin, le plus utilisé dans les projets de logiciels embarqués.
Mieux : il l'a toujours été, et de manière incontestable, sur les treize dernières années.
Quant à sa popularité, bien loin de s'essouffler, elle ne cesse de progresser.

Ce graphique est extrait de l'étude de Michael Barr.
On notera que la rupture en 2004 s'explique par un changement de question : précédemment les développeurs pouvaient donner plusieurs réponses ("Quel(s) langage(s) utilisez-vous ?"

Les courbes montrent que l'usage de l'assembleur comme langage exclusif d'un projet semble connaitre un déclin inéluctable.
Il montre également que, de manière continue, le C prend des "parts de marché" au C++.
Un résultat qui défie les prédictions et contredit les idées reçues, car si le C++ a connu une vague d'adoption jusqu'en 2001, il semble, depuis, stagner.
La fin du C n'est donc a priori pas d'actualité.
Deux raisons majeures l'expliquent.
Premièrement parce que les compilateurs pour le C sont disponibles pour une vaste majorité de micro-processeurs, qu'ils soient en 8, 16 ou 32 bits.
Deuxièmement, parce que le C est le parfait compromis entre un langage de haut-niveau et de bas-niveau.
D'après Michael Marr, on ne ferait pas mieux pour tout ce qui touche aux processeurs et aux pilotes.
Or ce marché explose.
Le vieillissement et le non renouvellement des programmeurs en C d'une part, et l'augmentation de l'importance des logiciels embarqués d'autre part n'annoncent rien de bon pour l'avenir.
La faute en incomberait à l'école : "le développement de process et l'architectures des firmware pour les logiciels embarqués s'apprennent aujourd'hui sur le tas", constate le rédacteur en chef de "Embedded Systems Design".
Malheureusement, cette forme d'enseignement n'est pas des plus efficaces. Le jeune programmeur "n'a souvent que peu de retour - quand il en a - [et] le découragement est souvent au rendez-vous".
"Bien qu'ils soient intelligents et talentueux, mes jeunes amis ne connaissent [donc] pas vraiment le C. Et ils s'en moquent", regrette-t-il. "Pourtant, il faudra bien continuer à écrire les logiciels embarqués pour répondre à une demande toujours plus forte. De nouveaux langages peuvent aider, mais ils ne permettront jamais une rétro-compatibilité avec toutes les architectures des CPU que nous avons connues jusqu'ici et que nous allons encore utiliser pendant plusieurs décennies"
Pour renouveler sa communauté de programmeurs, le C n'aurait donc pas le choix.
Il va devoir se rendre séduisant.
Et vous qu'en pensez-vous ?



A lire aussi :

Source : "Les vrais hommes programment en C", article paru dans "Embedded Systems Design".