Google et Microsoft s’intéressent de longue date au langage Rust. Mais leur intérêt est monté d’un cran cette semaine entre Microsoft qui assemble une équipe Rust pour réécrire certains services cloud et Google qui investit 1 million de dollars dans la fondation Rust pour étendre l’interopérabilité du langage…
Créé par la fondation Mozilla en 2020, Rust s’impose peu à peu dans le paysage des langages de bas niveau. Le langage est apprécié pour la grande performance de ses exécutables (similaire à celles des applications en C et C++) mais aussi pour sa gestion sécurisée de la mémoire qui n’utilise pas de « garbage collector » et permet un usage sûr même dans des contextes d’exécutions parallèles et concurrentes.
Performance, absence de garbage collector et sécurité sont les trois atours qui font pencher la balance en faveur de Rust. Les créateurs de systèmes d’exploitation et les hyperscalers s’intéressent désormais au plus haut point à ce langage, et pas uniquement comme une alternative au C et au C++.
Du Rust pour remplacer du code C# ?
Microsoft a ainsi révélé à travers ces offres d’emploi sa volonté de créer un nouveau « Rust Team » au sein des équipes plateformes de Microsoft 365 pour réimplémenter en Rust certains services de base écrits en C#. Et l’annonce est loin d’être passée inaperçue.
On sait que Microsoft est fan du langage. L’éditeur l’utilise déjà pour réécrire une partie du Kernel Windows. Et on savait les équipes Azure également très intéressées par les qualités du langage. Mais jusqu’ici, l’éditeur avait surtout évoqué l’usage de Rust pour moderniser et fiabiliser les codes C et C++. C’est la première fois qu’un portage de codes C# est évoqué.
Certes, C# est un langage très moderne et très apprécié. Mais il est intrinsèquement dépendant du runtime « .NET » qui implémente une garbage collection coûteuse en temps machine. Des études récentes ont montré que même si les développeurs du runtime « .NET » (désormais en open source) avaient beaucoup travaillé l’aspect performance à l’exécution des applications C#, un code équivalent en Rust se révélait non seulement plus rapide à l’exécution mais aussi plus économe en ressources informatiques comme en énergie.
Des économies qui, à l’échelle d’un hyperscaler comme Microsoft Azure, peuvent justifier un effort de portage en Rust des services les plus cruciaux à commencer par ceux qui servent de fondation à la galaxie de services Microsoft 365. C’est clairement la mission qui semble avoir été confiée à cette nouvelle équipe en cours d’assemblage, pour peu que l’éditeur arrive à mettre la main sur des compétences encore très rares sur le marché.
Il est bien sûr évident que Microsoft ne va pas réécrire tout Windows, ni tout Azure, ni tout Microsoft 365 en Rust. Néanmoins, le langage monte en popularité au sein de l’éditeur. Ainsi, la seconde édition du Azure Quantum Development Kit (Azure QDK) lancée en septembre 2023 a été écrite en Rust (elle se révèle 100 fois plus rapide et 100 fois plus compacte que la première version).
Par ailleurs, Microsoft a réécrit 36.000 lignes de code C du Kernel Windows en Rust. De même certaines couches Windows ont été partiellement réécrites en Rust à l‘instar de l’API DirectWrite désormais réécrite en 152.000 lignes de code Rust (plus 96.000 lignes de code C++ restées inchangées).
Enfin, on rappellera que Microsoft a annoncé l’an dernier une enveloppe de 10 millions de dollars pour développer en interne les compétences Rust et en faire « un langage de premier ordre dans nos systèmes d’ingénierie ».
Après Microsoft, Google investit aussi 1 million dans la fondation Rust
Si Microsoft semble rechercher d’abord de la performance et de la modernisation de code, Google reconnaît aussi qu’un code Rust est plus stable et moins troué de vulnérabilités. « D’après nos statistiques historiques sur la densité des vulnérabilités, Rust a empêché de manière proactive des centaines de vulnérabilités d’avoir un impact sur l’écosystème Android » affirme ainsi l’éditeur dans un billet de blog.
C’est pourquoi l’éditeur vient d’annoncer un don de 1 million de dollars à la fondation Rust avec un objectif à la clé : améliorer l’interopérabilité entre les codes Rust et C++ !
« L’amélioration de la sécurité de la mémoire dans l’industrie du logiciel est l’un des principaux défis technologiques de notre époque, et nous invitons les autres membres de la communauté et de l’industrie à se joindre à nous pour travailler ensemble à la sécurisation de l’écosystème open source pour tout le monde » explique Google qui veut voir s’accélérer l’adoption du langage aussi bien en interne dans ses équipes systèmes (Android) et Cloud que chez ses partenaires.
Cette subvention de Google à la Rust Foundation fait suite à celle d’un montant équivalent faite par Microsoft en Novembre dernier.
Dit autrement, Rust est en train de s’imposer dans le paysage des développements de bas niveau nécessitant performance, fiabilité, sécurité et efficacité énergétique. Déjà en passe de remplacer C et C++ dans le développement des systèmes d’exploitation, le langage réalise aussi une percée dans le développement des services de base des grands hyperscalers. Voilà une piste à suivre pour tous les jeunes qui veulent faire carrière en informatique et tous ceux intéressés par de nouveaux challenges dans l’univers du développement.
À lire également :
Le langage Rust bientôt intégré au noyau Linux
Microsoft lance RUST for Windows
Les géants du cloud adoubent le langage Rust