Extrait de la conférence CPP North (Toronto, Canada) du 18-20 Juillet 2022,
de Google (projet) Carbon avec, à gauche le langage Carbon et, à droite, le langage C++ !
Entre le 18 Juillet et le 20 Juillet 2022, la conférence canadienne (Toronto) de CPP North mettait en avant les équipes de développement de Google, dédiées au langage de programmation Carbon : encore à l’état expérimental, selon la documentation-ressource et la présentation du 22 Juillet 2022 par Chandler Carruth, Carbon viserait à remplacer le C++… peut-être en mieux, par rapport à l’actuel langage Rust (?).
Actuellement en finalisation vers une version 0.1 pour la fin de l’année 2022 (avec un déploiement public envisagé – pas de date précise, pour l’heure), voici les atouts majeurs (sélection) ou compatibilité-support de Carbon :
- Lecture et écrire simple,
- Développement rapide,
- Support des logiciels “critiques” pour les performances,
- Options ou configurations sécuritaires,
- Support des environnements et plate-formes actuels,
- Support des architectures matérielles actuelles,
- Migration et inter-opérabilité possible depuis le C++,
- Interface binaire d’application (ABI) stable (langage et bibliothèque),
- Support-compatibilité ascendante ou descendante “parfaite“.
Feuille de route
Fin 2022 | [Encore à définir] 2023 | [Encore à définir] 2024 – 2025 |
Finalisation de la v0.1 | Finalisation de la v0.2 | Finalisation de la v1.0 |
Déploiement grand public de la v0.1 | Toolchain auto-hébergée (support plus étendu de la bibliothèque Carbon) | Mise à disposition des outils et expériences de développement de bout-en-bout |
Quasi-finalisation du Core langage | Extension de la bibliothèque Carbon pour les zones “critiques et complexes“ | “Matériel” pour l’enseignement et la formation |
Finalisation de Carbon Explorer | Mise à disposition des outils de migration | Support des packages |
Création d’une organisation ou d’une fondation open-source dédiée au projet Carbon (indépendance) |
“Si vous souhaitez utiliser Rust et que cela est techniquement et économiquement viable pour votre projet, vous devez utiliser Rust. En fait, si vous pouvez utiliser Rust ou tout autre langage de programmation établi, vous devriez le faire. Carbon est destiné aux organisations et aux projets qui dépendent fortement de C++ ; par exemple, les projets contenant beaucoup de code C++ ou utilisant de nombreuses bibliothèques C++ tierces. Nous pensons que Rust est un excellent choix pour écrire des logiciels au sein de l’écosystème Rust pur. Les logiciels écrits en Rust ont des propriétés que ni C++ ni Carbon n’ont”, est-il entre-autre mentionné dans la FAQ du dépôt Github du projet Google Carbon. Même réponse si les développeurs s’interrogeaient pour Java, Kotlin ou encore Go.
Evoqué l’an dernier, en 2021, par Linus Torvalds, au détour de l’Open Source Summit (Amérique du Nord) qui s’était déroulé à Seattle, le créateur du noyau Linux évoquait un déploiement progressif du kernel “probablement l’année prochaine”. Lors de l’édition 2022 de l’évènement (21-24 Juin 2022 à Austin, Texas – Etats-Unis), bien évidemment, la question a été réitérée : “il y a de vraies raisons techniques comme la sécurité de la mémoire pour lesquelles Rust est bon à intégrer dans le noyau. Et les gens ont beaucoup travaillé dessus. J’espère donc vraiment que ça marchera […] ça va commencer avec des parties très petites et très spécifiques du noyau. Nous ne réécrivons pas tout le noyau dans Rust” tout en faisant allusion à une intégration franche dès la prochaine release ou publication majeure pour le noyau, sans plus de détails.
Quelle pingouin est le plus représentatif de Linux ?…
(de gauche à droite : mascottes de Linux et son fondateur pensif, Linus Torvalds)
Fin Mai 2022, l’avènement du patch v7 au kernel Linux permettait d’ajouter en second langage Rust. Quant aux modules évoqué lors de l’interview de 2021 par Linus Torvalds, depuis le 13 Juillet 2022, des sessions-vidéos à la demande sont disponible pour les développeurs désireux de concevoir des modules en Rust sous Linux… A suivre !
Sources :
- Github – projet Carbon : projet-dépôt,
- Github – projet Carbon : fichier lisez-moi,
- Github – projet Carbon : feuille de route,
- Fondation Linux – 13 Juillet 2022 – [Tech. session]Modules en Rust sous Linux.