Modern C
Galen Hunt, l’un des principaux ingénieurs de Microsoft, a publié une offre d’annonce détonante : l’entreprise recherche un ingénieur pour aider à la transition intégrale du code C/C++ vers Rust, qui doit être achevée en à peine cinq ans.
Microsoft n’a jamais caché son intérêt pour le Rust. Il a été question un temps d’attendre que l’outillage s’adapte et soit plus mature, mais la version 24H2 de Windows 11 a été la première à introduire du code Rust dans son noyau. Signe clair que la situation avait largement évolué. En février 2025, Paul Thurrott rapportait que la consigne avait été donnée en interne de ne commencer aucun nouveau projet en C ou C++, seulement en Rust.
Le langage, créé initialement par Mozilla, est depuis longtemps géré par une fondation indépendante. Microsoft en était d’ailleurs l’un des principaux membres fondateurs. Le Rust est observé de près par de nombreuses entreprises, particulièrement pour tout ce qui touche à la programmation système. On en trouve d’ailleurs dans le noyau Linux, bien que cette intégration ne se soit pas faite sans heurts. Comme nous l’expliquait récemment Sylvestre Ledru de Mozilla, Firefox en intègre également plusieurs millions de lignes de code, tout comme Chrome.
Mais Microsoft vient de donner un sérieux coup d’accélérateur : la firme veut remplacer tout son code C/C++ d’ici 2030.
Un projet titanesque
L’annonce n’a pas fait l’objet d’un billet ou d’un communiqué de presse. Elle est présente dans une offre d’emploi publiée par Galen Hunt, l’un des plus anciens ingénieurs logiciels de l’entreprise. L’offre est pour un ingénieur logiciel principal, en présentiel à Redmond.
Elle est cependant vite évacuée au profit d’une déclaration fracassante : « Mon objectif est d’éliminer toutes les lignes de C et C++ de Microsoft d’ici 2030 ». Galen Hunt indique que la stratégie consiste à mêler IA et algorithmes, et que « l’étoile polaire » est d’atteindre « 1 ingénieur, 1 mois, 1 million de lignes de code ». La tâche est décrite comme « inimaginable jusqu’ici ».
L’infrastructure algorithmique de l’entreprise est utilisée actuellement pour créer « un graphe évolutif sur le code source à grande échelle ». Après quoi, des agents IA, « guidés par des algorithmes », effectuent les modifications, également à grande échelle. Galen Hunt assure que le « cœur de cette infrastructure fonctionne déjà à grande échelle sur des problèmes tels que la compréhension du code ».
Une expérience en programmation système de qualité production est exigée. Galen Hunt enchaine sur d’autres paramètres de l’offre et un descriptif de l’équipe travaillant sur ce projet.
Le Rust, toujours le Rust
Plusieurs personnes sont venues témoigner de leur étonnement dans les commentaires. Sur le choix du Rust par exemple : pourquoi ne pas avoir choisi C#, qui présente lui aussi certaines caractéristiques intéressantes pour la sécurité ?
Galen Hunt a répondu : C# est « memory safe », mais pas « concurrent safe ». Comprendre que si C# permet d’éliminer certaines classes de failles de sécurité, notamment via un typage fort, Rust va plus loin. Il est jugé plus adapté à la programmation concurrente, quand plusieurs threads, processus ou tâches évoluent en parallèle, avec ou sans zone mémoire commune. Autre raison, attendue : les performances. Rust fonctionne sans ramasse-miettes (garbage collector) et permet d’atteindre les performances du C++.
L’ingénieur évalue à un milliard le nombre de lignes de code concernées chez Microsoft. Pourquoi un projet aussi démesuré ? Pourquoi ne pas garder le code C/C++ ? « Pas de sécurité mémoire. Pas de sécurité sur la concurrence. Bien sûr, pour une seule base de code C ou C++, ces qualités peuvent être atteintes par une discipline et un effort extraordinaires – et disparaître en une seule erreur. Avec Rust, cela peut être prouvé par le compilateur », répond Galen Hunt.
L’annonce a été accueillie avec une certaine incrédulité… y compris dans les rangs mêmes de Microsoft. Rupo Zhang, l’un des responsables de l’ingénierie logicielle de l’entreprise, demande en commentaire sur LinkedIn : « Vous êtes sérieux ? ». La question est restée sans réponse.
Relecture critique
Le projet est en effet pharaonique. « Notre mission est de développer des capacités permettant à Microsoft et à nos clients d’éliminer la dette technique à grande échelle », indiquait Galen Hunt dans l’annonce. Ce qui implique non seulement la conversion de centaines de millions de lignes de code, mais également les nombreux tests devant être réalisés pour en vérifier la fiabilité et les performances.
L’annonce laisse d’ailleurs entendre que le projet est double : convertir tout le code en Rust et finaliser l’infrastructure capable d’accomplir cette opération. Cette dernière impliquerait notamment que l’intégralité du code de Windows serait convertie en Rust, tout en maintenant la rétrocompatibilité, qui est l’une des marques de fabrique de la plateforme. Début septembre, on apprenait notamment que Microsoft voulait encourager le développement de pilotes en Rust, mais que seules les premières briques de l’infrastructure étaient proposées.
Quoi qu’il en soit, Microsoft répète continuellement depuis plus de dix ans que 70 % des failles de sécurité corrigées sont liées à une mauvaise gestion de la mémoire. Le Rust, bien qu’il élimine pratiquement tous les types de failles dans ce contexte, n’est pas non plus une protection absolue contre toutes les menaces. Il faut encore que le code ait été bien écrit. Comme nous le disait récemment l’ingénieur Horacio Gonzalez (Clever Cloud), la relecture critique a toutes les chances de devenir une compétence très recherchée.