La fondation Rust, qui gère le développement du langage éponyme, a publié le 12 novembre une déclaration sur les défis et les opportunités d'interopérabilité entre Rust et C++, dans l'intention de rendre le développement inter-langages plus accessible et abordable. Alors que l'interopérabilité avec le langage C a été l'une des priorités de Rust, plusieurs facteurs ont empêché la mise en place d'une solution mature, standard et automatique pour le développement de logiciels utilisant à la fois C++ et Rust. Pour surmonter ces obstacles, l'adoption d'une approche descendante axée sur la résolution des problèmes favorisant la coopération et le consensus entre les parties prenantes (notamment le projet Rust, les organisations membres de la fondation, ainsi que les personnes et les organisations qui utilisent C++ ou Rust) est préconisée. Le principal défi consiste à développer une approche mature et standardisée de l'interopérabilité entre C++ et Rust, malgré l'accent historique mis par Rust sur la compatibilité avec le langage C.
Les ressources matérielles apportées à l'initiative seront utilisées pour mettre en œuvre trois stratégies simultanées : améliorer les outils existants et résoudre les problèmes tactiques au sein du projet Rust afin de réduire les frictions et les risques liés à l'interopérabilité, à court terme. Construire un consensus autour d'objectifs à long terme nécessitant des changements dans le projet Rust lui-même et développer des approches tactiques pour commencer à les poursuivre. Et s'engager avec la communauté et le comité C++ pour améliorer la qualité de l'interopérabilité pour les deux langages, afin d'aider à atteindre les objectifs mutuels de sécurité et de performance.
Un avenir commun pour C++ et Rust
L'interopérabilité, selon la déclaration, est la capacité d'échanger des données et d'exécuter du code écrit dans les deux langages. « C++ et Rust joueront tous deux un rôle important dans la programmation des systèmes dans un avenir proche », peut-on lire dans le document. « Avec un tel degré de chevauchement dans l'applicabilité, l'utilisation conjointe des deux langages est essentielle à la poursuite de la sécurité et de la performance qui est maintenue et évolutive. » L'objectif principal de l'initiative est de permettre aux technologues de choisir le langage le mieux adapté à leur situation et de minimiser les coûts et les risques liés à l'interopérabilité. L'initiative d'interopérabilité C++ et Rust - baptisée Interop Initiative - a été lancée en février 2024 avec une contribution de 1 M$ de Google.