Les ingénieurs de Google ont récemment introduit “Carbon”, un langage de programmation open source salué comme le successeur possible de C++. Le nouveau langage “expérimental” faisant parler d’Internet, des conversations sur les raisons pour lesquelles “Rust” n’est pas devenu le successeur officiel de C++ ont également fait surface.
Avec sa propre communauté de personnes appelées «rustacés» qui utilisent, contribuent et s’intéressent au développement du langage, Rust est un langage de programmation à typage statique pour les performances et la sécurité, en particulier la gestion simultanée et la mémoire sécurisées. Sa syntaxe est similaire à celle de C++. Le projet open-source a été développé à l’origine chez Mozilla Research. En 2021, la Fondation Rust a repris le flambeau et a piloté le développement du langage.
Dans sa présentation au CPP North, l’ingénieur Google Chandler Carruth a conseillé à ceux qui utilisent “Rust” de continuer à l’utiliser. Carbon est destiné aux développeurs avec de grandes bases de code en C++, qui sont difficiles à convertir en Rust. Le carbone est spécifiquement ce que Carruth a appelé un “langage successeur”, construit au sommet d’un écosystème déjà existant, C++ dans ce cas.
Selon une enquête StackOverflow, Rust est considéré comme l’un des langages de programmation à la croissance la plus rapide et a été classé comme le langage le plus apprécié par ses utilisateurs. Mais, les programmeurs disent le contraire.
Un bon langage doit être sûr, rapide et facile à programmer. Mais est-ce Rust ?
La rouille est difficile. Il a une syntaxe complexe et une courbe d’apprentissage abrupte. Il est conçu pour résoudre de manière unique certains problèmes de programmation très difficiles. Cependant, en tant que débutant, utiliser Cuda ou MPI sur Rust n’est pas très simple par rapport aux autres options comme Swift et Go. De plus, il est lent. Rust est un escargot par rapport aux autres langues. Même pour les petits projets, les temps de compilation sont extrêmement longs et les mesures d’exécution montrent que Rust est moins efficace que les programmes C.
Imaginez la réécriture de bibliothèques C qui ont fait l’objet de décennies d’examen minutieux uniquement pour introduire de nouveaux bogues. Les bogues dans le code sont le cauchemar des programmeurs. Bien que cela évite aux développeurs certaines erreurs, cela ne les empêche pas d’écrire des bogues par inadvertance. Un autre problème concerne les avertissements constants apparaissant au-dessus des parenthèses, en particulier sur les instructions if et les boucles while.
La rouille est donc beaucoup plus compliquée et inefficace et pourrait bientôt être remplacée par ledit outillage.
Pas si impopulaire après tout ?
Même si les expériences de première main racontent une histoire différente, la plupart des grandes technologies utilisent déjà Rust, tandis que d’autres envisagent de le faire. Récemment, Rust a rejoint le panel de Meta des langages de programmation côté serveur officiellement pris en charge. La liste comprenait auparavant C++, Hack et Python.
“Il y a une empreinte Rust en augmentation rapide dans nos produits et services, et nous nous engageons dans Rust à long terme et accueillons les premiers utilisateurs”, déclare Eric Garcia, responsable de l’ingénierie logicielle Meta.
Dropbox utilise Rust pour certains éléments critiques de sa programmation. D’autres sociétés Internet choisiraient probablement Rust lorsqu’elles ont besoin d’une bonne sécurité, de multi-threading et pour réduire la quantité de matériel. Par exemple, un service Web hautement efficace écrit en Rust peut faire économiser des millions de dollars en matériel pour une entreprise exécutant des milliers de serveurs.
Google prévoit également d’utiliser Rust dans le noyau Linux après avoir apporté la prise en charge du langage de programmation système Rust à Android. Pour rappel, l’objectif est de réduire les failles de sécurité. Pendant ce temps, Microsoft s’est également tourné vers Rust pour réduire les bugs liés à la mémoire dans les composants Windows. Actuellement, il existe 25 dépôts sur GitHub du travail public que Microsoft fait avec Rust. La plupart d’entre eux ont des validations occasionnelles, ce qui est minuscule par rapport aux 317 référentiels C++.
Facebook a également renforcé ses liens avec Rust en rejoignant la Rust Foundation, une organisation créée en 2021 pour faire de Rust “un langage courant de choix pour la programmation système et au-delà”.
En 2020, les développeurs du noyau Linux ont proposé de réécrire le nouveau code du noyau Linux en Rust. L’idée était d’ajouter un nouveau code en Rust au noyau initialement écrit en C. Cependant, cette idée est encore au stade de développement, qualifiée d’expérimentale.
À l’avenir, Rust pourrait devenir l’un des langages préférés des appareils de l’Internet des objets (IoT) avec de minuscules processeurs et peu de RAM, mais nécessitant un niveau de sécurité élevé. De plus, compte tenu de sa relation avec les grandes technologies, il deviendrait probablement un langage de prédilection pour les sociétés Internet qui ont besoin d’offrir des services Web à des millions d’utilisateurs.