En 2016, C occupait la 9e place des langages les plus actifs sur GitHub avec 202 000 pull requests. À titre de comparaison, les trois leaders étaient JavaScript (1,6 million), Java (763 000) et Python (744 000). Ruby, PHP, C++ et CSS surpassaient également C.
À première vue, C semble éclipsé par des langages plus modernes et dynamiques – il fête ses 45 ans, après tout. Cependant, GitHub privilégie fortement l'open source et les tendances, ce qui ne reflète pas fidèlement l'ensemble de l'industrie logicielle.
C n'est pas un langage mort. Selon IEEE Spectrum, il arrivait en 2e position des langages en 2017, devant Java, C# et JavaScript. Apprendre C en 2023 n'est absolument pas une perte de temps. Voici cinq raisons solides.
C est qualifié de "langage de bas niveau", car il se rapproche du jeu d'instructions natif des processeurs. Plus le niveau est bas, plus vous contrôlez directement le matériel ; les langages haut niveau masquent ces détails via des abstractions.
C offre un équilibre : assez bas pour manipuler la mémoire directement, sans garbage collector comme en Java.

Cette proximité rend C exigeant, mais forme des programmeurs qui pensent comme un ordinateur : gestion mémoire, E/S, endianness. Contrairement à l'assembleur, C reste lisible tout en conservant puissance et contrôle.
"Maîtriser un langage, c'est les maîtriser tous" – cette maxime s'applique pleinement si vous commencez par C.
Passer de C (bas niveau) à Python (haut niveau) est fluide, car les abstractions sont comprises. L'inverse est ardu.

Exemple : C# populaire pour Unity, mais les débutants peinent sans bases en gestion mémoire. C enseigne les fondations de la programmation moderne ; tout langage actuel est plus abstrait.
Le bas niveau de C implique complexité et verbosité.
Imaginez un sandwich : en haut niveau, makeSandwich("jambon") suffit. En C, vous codez chaque ingrédient et assemblage.

Contrôle total vs. commodité : les langages modernes (C++ de C, Java de C++, etc.) corrigent les lacunes de C. Apprendre C révèle pourquoi ces évolutions existent et valorise les abstractions haut niveau.
Les langages haut niveau dominent apps pro, web/mobile et data. Mais pour l'interface matériel ? C excelle.

C est incontournable pour OS (Linux), compilateurs (Python/PHP en C), embarqué, moteurs de jeux. Son faible overhead système convient aux contraintes ressources.
Deux stratégies : cibler forte demande (JS/Python/Java) ou faible offre (héritage, bas niveau).
C est demandé, mais peu de spécialistes. Évitez la foule des bootcamps ; C ouvre des postes uniques, inaccessibles aux langages haut niveau.
C est challenging pour débutants. Préparez-vous : lisez "Questions avant d'apprendre à coder", "Programmer sans stress" et "Astuces pour maîtriser un langage".
Commencez par Langage C (K&R, 2e éd.), référence intemporelle. Puis C89/C99/C11.
Gratuit : The C Book en HTML.
Et vous ? C obsolète ou indispensable ? Dites-nous en commentaires !