Le langage Rust, kesako ?
Initié par Mozilla depuis 2010 et porté par la fondation libre Rust Foundation créée début 2021, le langage Rust se veut un langage compilé, performant, sûr et productif. Découverte.
Un langage de programmation open source, axé sur la sécurité, la vitesse et le temps réel…telle est l’ambition de Rust (littéralement « rouille » en français). Originellement issu du projet personnel de Graydon Hoare, un développeur de Mozilla, qui débuta son développement en 2006, Rust fut rapidement soutenu, trois ans plus tard par l’entreprise du célèbre navigateur Web. En 2010, Rust sort de l’ombre, une version alpha apparaît en 2012. Il faudra attendre 2015 pour voir apparaître sa première version stable.
Un langage compilé
En apparence, la syntaxe du langage Rust se rapproche de celle du C ou C++, des langages qu’il est possible d’apprendre via des formations Code spécifiques. Tout comme eux, c’est un langage compilé et non interprété ce qui signifie qu’il faut compiler le code source pour produire une application exécutable. Jusqu’à présent, rien de nouveau par rapport à ces aînés. Ce qui diffère réside dans les trois objectifs définis par son fondateur : sécurité, concurrence et rapidité. Des objectifs atteints par sa gestion particulière de la mémoire. Alors que dans la majorité des langages, la gestion de la mémoire reste souvent opaque pour l’utilisateur du fait du Garbage Collector, un mécanisme qui permet de libérer de la mémoire lorsqu’elle n’est plus utilisée, Rust en a fait l’impasse. Car ce système de libération automatique induit une certaine lenteur et se veut loin d’être optimal.
Rust ne possède donc pas de Garbage Collector, mais d’un Borrow Checker, un dispositif intelligent permettant de déterminer où et quand la mémoire peut être libérée, et ce, dès la phase de compilation. Cet avantage nécessite de connaître le fonctionnement de la mémoire d’un ordinateur, dans le détail ! Ce qui en fait un langage bas niveau particulièrement puissant, mais moins facile d’accès que d’autres.
Quels avantages ?
La relative jeunesse de ce langage n’en fait pas moins un concurrent de choix pour les développeurs qui, progressivement, sont de plus en plus nombreux à l’adopter. Et pour cause ! Il dispose de multiples atouts :
- La vitesse : Rust se veut ultra rapide et léger via l’absence de Garbage Collector, les applications produites avec se lancent rapidement ;
- La sécurité : c’est l’un des points forts de ce langage. Rust permet d’avoir un code propre du fait qu’il permet de repérer les bugs éventuels à l’étape de la compilation ;
- La fiabilité : Rust innove par son système de propriété des valeurs, chaque variable ne pouvant être appelée que par un propriétaire. Ce mécanisme unique permet le contrôle dès la phase de compilation, garantissant la fiabilité du programme du fait qu’aucun accès concurrentiel déviant n’est possible ;
Adapté pour le développement Web, Rust dispose également d’une communauté active qui ne cesse de grandir. Depuis 2021, le langage possède sa propre fondation, la Rust Foundation. En l’espace de dix ans, ce langage a dépassé ses ambitions initiales et s’avère clairement utilisé dans la programmation système, le développement des applications Web ou en ligne de commande, etc. Il bénéficie, en outre, à travers sa fondation, des soutiens de Microsoft, Google, AWS (Amazon), Huawei…