Le langage C a été imaginé par Denis Ritchie en 1972 chez Bell Laboratories. Il dérive de précédentes expérimentations dénommées B, BCPL et CPL. Mais il n’a été normalisé qu’en décembre 1989, donnant naissance au standard de programmation ANSI C aussi connu sous le nom C89. Langage de bas niveau compilé, il est salué depuis toujours pour la rapidité d’exécution et la compacité des exécutables générés. L’une des motivations derrière sa création dans les années 70 était de mettre au point un langage évolué qui permettrait de réécrire Unix (alors dénommé Unics) dont la première version imaginée par Ken Thompson avait été entièrement écrite en assembleur ce qui le rendait difficilement portable et complexe à maintenir. Dans les années qui allaient suivre, la plupart des systèmes d’exploitation produits dans les années 70, 80 et 90 seront aussi écrits principalement en C (à commencer par DOS et Windows).

L’arrivée des langages-objets vers la fin des années 80 va rendre le langage C peu à peu moins populaire, bien que de nombreux jeux vidéos resteront écrits avec. Cependant, de nombreux langages en dérivent directement à commencer bien sûr par C++ (qui en est une évolution directe), mais aussi C#, Java, JavaScript et plus indirectement PHP, Go, Rust.

Le problème de C (et de C++), c’est que les erreurs de programmation nées de l’inattention du développeur ou d’une simple faute de frappe ne sont pas nécessairement détectées à la compilation générant autant de bugs dans l’exécutable. C’est d’ailleurs pourquoi Microsoft Research a lancé le projet Verona pour réécrire partiellement Windows en Rust (le langage inventé par Mozilla) et écrire les nouveaux composants Windows dans ce langage plus moderne.

Après C89, le C connaîtra de nouvelles évolutions normalisées en 1999 (C99) et en 2011 (C11).

Il reste le langage de développement de prédilection dès que la programmation nécessite d’être au plus proche du hardware. L’explosion des IoT l’a ainsi remis quelque peu au goût du jour. Il demeure ainsi le second langage le plus demandé selon le Tiobe Index et le 9ème langage de programmation le plus utilisé selon FossBytes.