Linux et le langage Rust : ça devient du sérieux !

Rust et Linux

C’est lors du sommet Open Source de la Linux Foundation qui s’est tenu à Austin (Texas) du 22 au 24 juin dernier que Linus Torvalds, le père de Linux, a déclaré que la prise en charge d’un code écrit en langage Rust (*) pourrait être intégré au sein du noyau Linux lors de la mise en ligne de la prochaine version du kernel, la 5.20 en l'occurrence. (La version stable actuelle est la 5.18.6 et la 5.19-rc est en attente.)

Déjà, en décembre dernier, un correctif publié par la fondation Linux a ajouté la prise en charge de Rust comme second langage pour le code du noyau, la communauté Linux estimant que cette évolution peut conduire à une plus grande stabilité et une meilleure sécurité du code. Car le C, utilisé pour l’écriture des quelque 25 millions de ligne de code, entraîne avec lui des problèmes liés à la gestion mémoire (dépassements de mémoire tampon, allocations non libérées, accès à des zones mémoire invalides…).

Mais la prudence est traditionnellement de mise parmi les mainteneurs du noyau Linux qui affiche désormais plus de 30 ans d’existence. « Beaucoup de gens pensent que nous sommes trop peu enclins à prendre des risques, a déclaré à ce sujet Linus Torvalds. En ce qui concerne Rust, on en parle depuis plusieurs années maintenant et nous en arrivons à un point où très bientôt nous le ferons fusionner dans le noyau. Car nous voulons avoir de la sécurité au niveau de la mémoire, ce qu’apporte Rust. Il y a donc de vraies raisons techniques pour lesquelles Rust est une bonne idée dans le noyau. »

Une déclaration somme toute prudente, alors que l’engouement autour de ce langage prisé par les jeunes générations de développeurs ne cesse de s’amplifier. La société d'analyses de marché SlashData a ainsi publié récemment un rapport indiquant que la communauté des développeurs Rust a presque triplé au cours des deux dernières années, passant de 0,6 million au premier trimestre 2020 à 2,2 millions au premier trimestre 2022. A suivre donc.

(*) Rust est un langage de développement initié par les ingénieurs de Mozilla dès 2006, dont la version 1.0 avec un compilateur stable  été publiée en 2015. Rust se veut une alternative aux langages de programmation classiques comme le C et le C++ en évitant notamment les problèmes de sécurité mémoire qui affligent ces langages, sans recourir à la complexité de Java (pas de mécanismes de type ramasse-miettes dans Rust).