5 bonnes raisons d’utiliser le langage Rust

11/05/2022 | Développement, Paroles d’experts

Temps de lecture  4 minutes

tux

Langage très jeune comparé à Python, C, C++ ou Java, le langage Rust attire de plus en plus de développeurs. Certains affirment même qu’il s’agit d’un des langages de programmation les plus passionnants du moment !

Quels sont les atouts de Rust ? et pourquoi s’y intéresser ? Réponses avec notre expert, Benoît Prieur.

Qu’est-ce que Rust ?

Initié en 2006 par Graydon Hoare, développeur chez Mozilla, afin d’éradiquer des failles de sécurité, Rust voit sa première version stable publiée en 2015.

Le choix de son nom n’est pas anodin. Rust, qui signifie “rouille” en français, est un langage qui se caractérise par le recours à des concepts déjà éprouvés dans les autres langages existants : les structures, les énumérations, le filtrage par motif, les traits, les closures ainsi que les diverses collections avancées utilisables en Rust. En ce sens, Rust ressemble beaucoup à ses aînés.

Ce qui le différencie, ce sont les 3 objectifs définis par son créateur : sécurité, concurrence et rapidité ; tous trois atteints grâce à sa gestion particulière de la mémoire.

Dans la plupart des langages, la gestion de la mémoire de la machine est opaque pour l’utilisateur. Elle est assurée par un Garbage Collector (un ramasse-miettes) qui se charge de libérer la mémoire dès lors qu’elle n’est plus utilisée. Ce mécanisme de libération automatique induit fatalement une certaine lenteur, loin d’être optimale. Et quand il n’y en a pas, lorsqu’un problème survient, il est trop tard. C’est ce qui se produit en C++.

Langage bas niveau, tout comme les langages C ou C++, Rust ne possède pas de Garbage collector. Sa gestion de la mémoire est fondée sur le principe d’un Borrow checker, capable de déterminer où et quand la mémoire peut être libérée, dès la phase de compilation. C’est la recette secrète de Rust.

Appréhender Rust suppose donc au préalable de bien connaître le fonctionnement de la mémoire d’un ordinateur, impliquant le tas (heap) et la pile (stack). Mais c’est un autre sujet…

Quels sont les atouts de Rust ?

Le langage Rust présente de nombreux avantages :

La vitesse

Rust est rapide, très rapide. C’est d’ailleurs ce qui le rend attractif dans de nombreux domaines. Grâce à sa gestion optimisée de la mémoire et à l’absence de Garbage collector, l’exécution peut se faire rapidement, sans ralentissement.

La sécurité

La sécurité est un des principes fondamentaux de Rust. Contrairement au langage C++ où les problèmes sont visibles à l’exécution, Rust permet de s’en apercevoir dès la compilation (autrement dit, à la création de l’exécutable). Au résultat : moins de crashs mémoire, moins de bugs ! La sécurité est garantie et la performance est au rendez-vous.

La fiabilité

Au cœur des règles strictes qui régissent la mémoire, Rust présente un système très innovant de propriété des valeurs manipulées (chaînes de caractères, entiers, flottants…). Chaque valeur dans Rust a une variable appelée son propriétaire. Il ne peut y avoir qu’un seul propriétaire à la fois. Si cela peut être déroutant pour de nombreux développeurs évoluant sur d’autres langages, ce système unique de propriété permet un contrôle dès la phase de compilation et garantit la fiabilité du programme car aucun accès concurrentiel déviant n’est possible.

Une communauté très active

Étant totalement open source, bien que financé par la fondation Mozilla, Rust est enrichi en permanence par les travaux d’une communauté très active. Cette communauté fait sa force. Grâce aux nombreuses ressources partagées et aux forums de discussion ouverts sur les canaux IRC, Reddit, Discord ou encore Twitter, il est possible de facilement trouver de l’aide et de développer rapidement ses compétences sur Rust.

Adapté pour le développement web

Le langage Rust peut être aisément compilé en WebAssembly (wasm). Ce fonctionnement garantit des gains très significatifs de performance dans l’exécution d’opérations longues sur le web et des temps de chargement de pages très rapides. D’abord utilisé pour la programmation système, Rust est ainsi devenu un langage privilégié pour développer des applications rapides pour le Web.

En pratique : à quoi ressemble le code écrit en Rust ?

Quoi de mieux que le traditionnel « Hello world ! » pour faire connaissance avec la syntaxe de Rust :

fn main() 

{

    println!(“Hello World!”);

}

 En conclusion, sa dimension performative, sa vitesse et son optimisation de la mémoire rendent le langage Rust de plus en plus utilisé dans divers domaines de pointe – il est par exemple le langage star de la blockchain -, et de manière générale dans toute application à vocation temps réel où l’on a besoin de sécurité (comme pour l’informatique embarqué des véhicules connectés).

S’il est réputé pour être relativement complexe et difficile à apprendre, Rust est néanmoins un langage qui permet de mieux comprendre le fonctionnement de la machine et d’enrichir sa science informatique. En un mot, Rust est une voie à emprunter pour devenir un meilleur programmeur.

Et si vous releviez le défi ?

Ingénieur en informatique diplômé de l’ISIMA de Clermont-Ferrand, Benoît PRIEUR est développeur freelance et conduit des missions de conseil en particulier sur les technologies C#/.Net, Python et Rust. Il intervient notamment sur des sujets relatifs au Machine Learning. Il est également formateur et conférencier sur diverses technologies (l’informatique quantique notamment) et auteur régulier d’articles sur la programmation de logiciels.

Benoît PRIEUR

Notre expert Rust

Pour aller plus loin

Scratch et Raspberry Pi Projets maker pour s'initier à l'électronique et à la robotique

Livre

Rust
Développez des programmes robustes et sécurisés

Restez connecté !

Suivez-nous
Contactez-nous
Contactez-nous

Inscrivez-vous à notre newsletter

Je suis intéressé(e) par :

En vous inscrivant, vous acceptez la politique de protection des données du groupe Eni. Vous aurez la possibilité de vous désabonner à tout moment.