Le C est l'un des langages les plus populaires au monde. Il a été initialement développé par Dennis Ritchie entre 1969 et 1973 aux laboratoires Bell d'AT&T. Des milliers de projets ont été développés en C depuis lors. Il est utilisé à toutes sortes de fins, notamment les systèmes d'exploitation, les applications embarquées, le développement de jeux, le traitement d'images, le traitement de texte et les moteurs de bases de données.
Il est intéressant d'explorer l'évolution d'un langage et de voir comment il a changé au fil des années grâce aux retours des développeurs et des utilisateurs finaux. Nous allons remonter 25 ans en arrière pour découvrir comment certains projets C étaient implémentés. Retour en 1990 : les débuts de Microsoft Word
Les développeurs de cette époque se souviendront d'une période où un ordinateur personnel typique pouvait avoir un processeur à 8 MHz, 1 mégaoctet de mémoire, un disque dur de 20 mégaoctets et un lecteur de disquettes. Développer une application de traitement de texte était un sacré défi.
Microsoft a publié le code source de « Microsoft Word 1.1 » au Computer History Museum. Cela vaut la peine de jeter un œil à son code source ; même s'il a été écrit il y a 25 ans, on peut encore en tirer des techniques intéressantes.
Voici un extrait de son code source :

Comme on peut le constater, la fonction a été déclarée dans le style K&R. Toutes les fonctions utilisent le même style.
En explorant de nombreux fichiers sources de « Microsoft Word 1.1 » et en les comparant à des projets C créés récemment, il est surprenant de constater que les techniques utilisées dans ces projets ne diffèrent guère de celles employées dans « Microsoft Word 1.1 ».
Prenons comme exemple le code source suivant :

Ce code semble tout droit sorti d'un projet C créé récemment sur GitHub. Rien n'indique de manière évidente qu'il a 25 ans.
1994, l'année de la première version de Linux
Le 14 mars 1994, Linux 1.0.0 a été publié, mais son développement a commencé en 1991, grâce à Linus Torvalds et à tous les autres contributeurs. Le code source de cette première version est disponible ici.
Voici un extrait de code du fichier source sched.c :

En comparant les fichiers sources du noyau Linux version 1 avec ceux des versions les plus récentes, ce qui frappe, c'est leur similitude — il n'y a eu aucun changement majeur de style ni dans les techniques utilisées. Dès le début, le code était simple, propre et basique.
Conclusion
Après ce bref voyage dans le passé du code source C, on constate que les techniques d'implémentation ont très peu changé par rapport aux projets C modernes.
L'une des forces du C est sa stabilité au fil des années : il reste un langage relativement simple, peu de mécanismes avancés ont été introduits, et le code demeure simple à comprendre et à maintenir.
