Quel langage de programmation est utilisé pour la réalisation de Windows 10 ?


Windows 10 est la même base de code (évoluée) que celle de Windows 8.x, Windows 7, Windows Vista, Windows XP, Windows 2000 et Windows NT, où chaque génération a vu un remaniement important, et a ajouté de nouvelles fonctionnalités substantielles, amélioré les performances et le support matériel ainsi que la sécurité, tout en maintenant un très haut degré de rétrocompatibilité.

La majeure partie du noyau (ntoskrnl.exe) est écrite dans le langage de programmation C. Vous pouvez trouver des copies fuitées du noyau de recherche Windows même sur Github[1] et voir par vous-même : bien qu'assez daté et largement incomplet, ce code devrait donner des indications significatives.


Voyez par exemple le code source qui met en œuvre le Registre familier, un composant du noyau connu en interne comme le gestionnaire de configuration, " Cm ", dans wrk-v1.2/base/ntos/config.

La plupart de ce qui s'exécute en mode noyau est également écrit dans le langage de programmation C (la plupart des systèmes de fichiers, la mise en réseau, la plupart des pilotes...) avec un peu de C++ ici et là.

A mesure que vous montez dans la pile vers le mode utilisateur, et vers des développements plus récents, vous trouverez un peu moins de C et un peu plus de C++.

En passant, ce que la plupart des gens ne réalisent pas, c'est la taille de Windows : c'est un projet gigantesque aux proportions vraiment épiques.

L'arbre source complet avec tout le code, le code de test et tout ce qui constitue ensemble le "code source de Windows" fait plus d'un demi-téraoctet, dans plus de 4 millions de fichiers. Vous pouvez passer un an (sérieusement) à explorer l'arbre des sources, plus d'un demi-million de dossiers contenant le code de chaque composant des produits OS pour stations de travail et serveurs, ainsi que toutes leurs éditions, outils et kits de développement associés, et voir ce qu'il contient, lire les noms de fichiers et essayer de comprendre ce qui fait quoi. Il faudrait une vie (ou deux) pour tout lire.

Vous trouverez ci-dessous une capture d'écran qui peut ou non représenter les statistiques d'un enrôlement complet dans Windows (code source, fichiers de test, outils de construction, tout)

main-qimg-be4162100bd9e3ed8411bbd6cff8b9e1

En une occasion, j'ai laissé une branche Git en stand-by pendant quelques semaines et, quand j'y suis revenu, elle était en retard de près de 60 000 commits. Je pense que l'on peut soutenir qu'une seule personne ne peut pas lire tout le code qui est ajouté à Windows chaque jour, et encore moins lire ce qui a été écrit au cours des trente dernières années !

Pour en revenir à notre sujet, si vous regardez un " DVD " de Windows 10 et que vous considérez quels langages de programmation ont été utilisés pour créer tout ce qui se trouve sur ce disque, mon estimation est que 98 % de ce code serait du C et du C++, le C se taillant la part du lion.

La BCL de .NET et les autres bibliothèques et cadres gérés qui livrent en boîte sont généralement écrits en C#, mais ils ne représentent que des gouttes minuscules dans une mer géante de code C avec quelques îlots de C++. Ils proviennent également d'une division différente et leur code ne fait pas partie de l'arbre source de Windows.

Notes de bas de page

[1] Mighten/WRK-1.2.