Paul Jansen, PDG de Tiobe Software, voit en Rust comme une « petite menace » pour C et C++ », deux langages qui pourraient être remplacés par Rust dans de nouveaux projets, selon certains développeurs, en raison de sa meilleure gestion de la sécurité de la mémoire.
Envoyé par Paul Jansen
Un engouement pour Rust qui va grandissant
Le projet Android Open Source a commencé à utiliser Rust pour le nouveau code Android
Google a annoncé le 6 avril 2021 que l'Android Open Source Project (AOSP) prendra désormais en charge le langage Rust pour le développement de son système d’exploitation mobile. « Outre les langages à mémoire sécurisée comme Kotlin et Java, nous sommes heureux d'annoncer que le projet Android Open Source prend désormais en charge le langage de programmation Rust pour le développement du système d'exploitation Android », a déclaré Google sur son blog.
Contrairement à C et C++, où les développeurs gèrent la durée de vie de la mémoire, Rust « fournit des garanties de sécurité de la mémoire en utilisant une combinaison de contrôles à la compilation pour faire respecter la durée de vie ou la propriété des objets et des contrôles à l'exécution pour s'assurer que les accès à la mémoire sont valides ». Les performances sont équivalentes à celles des langages existants, tout en augmentant l'efficacité du sandboxing et en réduisant son besoin global. Parmi les autres améliorations, citons la concurrence des données, un système de types plus expressif et une gestion plus sûre des entiers.
Après 31 ans, un deuxième langage est admis pour le développement du noyau Linux : Rust
Linus Torvalds l’avait promis lors du dernier Open Source Summit : il pousserait pour l’inclusion de Rust for Linux à la version 6.1 du noyau. La manœuvre est désormais en cours comme le confirme un récent Pull Request. Après 31 ans, un deuxième langage sera donc admis pour le développement du noyau : c’est le Rust. Les débats y relatifs tournent au tour de la possibilité d’une mise au rebut du C au profit du langage Rust compte tenu des avantages qu’il introduit. Petite précision néanmoins : pour le moment, le Rust gagne juste une API officielle pour permettre de développer des modules séparés ou pilotes.
Les principaux mainteneurs du noyau Linux ont un âge qui commence par le chiffre 5. Certains se rapprochent même de la soixantaine. Aussi, la communauté du célèbre noyau open source commence à penser au changement de générations. Une nouvelle dont la tranche d’âge se situe dans la trentaine gravit les échelons, mais comme Linus lui-même le souligne : « Il s'avère qu'il est vraiment difficile de trouver des personnes qui sont des mainteneurs » ; un fait lié à ceci que le développement du kernel Linux continue de se faire en C et assembleur – des langages auxquels la vieille génération est plus accoutumée ? C’est une possibilité et elle est susceptible d’expliquer pourquoi 2022 pourrait être l’année du langage Rust au sein du noyau Linux.
« C'est le moment d'arrêter d'initier de nouveaux projets en C ou C++ et de passer à Rust », selon Mark Russinovich de Microsoft
Go, C3, D, … La liste des langages présentés comme des alternatives au C ou au C++ s’allonge avec les années qui passent. Celui qui a frappé un grand coup dans ces tentatives multiples de mise au rebut du langage C est le Rust. En effet, le noyau Linux s’ouvre de plus en plus au langage de programmation système de Mozilla. Ainsi, des voix s’élèvent de plus en plus pour en faire le successeur attitré des langages C et C++. Sans détour Mark Russinovich de Microsoft vient de déclarer que « c’est le moment d’arrêter d’initier de nouveaux projets en langages C ou C++ et de passer à Rust. »
Chez Amazon par exemple, on est d’avis que « choisir Rust c’est opter pour une meilleure sécurisation des logiciels qu’avec le C, mais une efficacité énergétique et une performance d’exécution que seul le C offre. » En effet, certains benchmarks suggèrent que les applications Rust sont plus rapides que leurs équivalents en langage C. Et c’est justement pour ces atouts que sont la parité en matière de vitesse d’exécution en comparaison avec le C, mais surtout pour la sécurisation et la fiabilité que Mark Russinovich recommande le Rust plutôt que le C ou le C++.
ICU4X 1.0, la nouvelle bibliothèque d'internationalisation hautes performances du consortium Unicode, est écrite en Rust
International Components for Unicode (ICU) est un projet open source de bibliothèques C/C++ et Java matures pour la prise en charge d'Unicode, l'internationalisation des logiciels et la mondialisation des logiciels. ICU est largement portable sur de nombreux systèmes d'exploitation et environnements. Il donne aux applications les mêmes résultats sur toutes les plateformes et entre les logiciels C, C++ et Java. Le projet ICU est un comité technique du Consortium Unicode et sponsorisé, soutenu et utilisé par IBM et de nombreuses autres sociétés.
Envoyé par ICU
L'index de la communauté de programmation TIOBE est un indicateur de la popularité des langages de programmation. L'index est mis à jour une fois par mois. Les évaluations sont basées sur le nombre d'ingénieurs qualifiés dans le monde, de cours et de fournisseurs tiers. Les moteurs de recherche populaires tels que Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube et Baidu sont utilisés pour calculer les notes. Il est important de noter que l'index TIOBE ne concerne pas le meilleur langage de programmation ou le langage dans lequel la plupart des lignes de code ont été écrites.
L'index peut être utilisé pour vérifier si vos compétences en programmation sont toujours à jour ou pour prendre une décision stratégique sur le langage de programmation à adopter lors du démarrage de la création d'un nouveau système logiciel.
L'étude internationale Tiobe basée sur des données web n'est absolument pas représentative du marché Pro en France, pour vous faire une meilleure idée sur le paysage professionnel dans l'Hexagone :
Emploi informatique 2021 : les langages de programmation les plus demandés et les mieux payés
Source : Tiobe, Developpez.com rub emploi
Et vous ?
Que pensez-vous du baromètre qu'est l'indice Tiobe ? Le trouvez-vous pertinent ? Pourquoi ?
Python, Java, C et C++ s'accaparent à eux seuls de 55% de parts de marché, selon Tiobe. Trouvez-vous cela crédible ?
Quels critères vous intéressent le plus lorsque vous voulez apprendre un nouveau langage (sa courbe d'apprentissage, la demande au niveau des entreprises, les similitudes dans les syntaxes que vous utilisez déjà dans votre langage de programmation, etc.) ?
Que pensez-vous de Rust dans l'absolu ?
L'intérêt porté à Rust par des entités comme l'Android Open Source Project ou encore Linux vous semble-t-il pertinent ? Dans quelle mesure ?
Voir aussi :
Rust est devenu si populaire qu'une équipe dédiée a été présentée pour la définition du style de codage Rust par défaut, afin que les développeurs se sentent le plus à l'aise possible
Quels sont les langages de programmation que vous détestez le plus en 2022 ? Pourquoi ? Partagez vos avis