Rust : ce langage de programmation qui porte mal son nom

Rust : ce langage de programmation qui porte mal son nom
  • Advertising
  • Branding
  • Digital
  • Culture Pix

Son nom Rust fait penser à la rouille, à la corrosion, à quelque chose qui s’abîme. Et pourtant, ce langage de programmation est tout l’inverse.

D’après une étude Stack Overflow en 2024, Rust est le langage de programmation le plus admiré avec un score de 83%, contre 58% pour JavaScript ou encore PHP à 43%. Ce nombre n’est pas anodin, puisqu’il atteint cette position tous les ans depuis 2016…

Comment expliquer cette admiration ? Pour cela, il faut d’abord comprendre son positionnement par rapport aux autres langages.

Historique et usages

Rust a été pensé dès 2006 par un employé de Mozilla Research, puis officiellement parrainé par cette même entreprise plus tard, en 2010 lors de l’annonce du projet Servo. Seulement 1 an plus tard, alors que Rust est développé à l’aide d’un compilateur écrit dans un autre langage, les développeurs ont réussi à réécrire le compilateur de Rust en Rust. Depuis, il est donc capable de compiler son propre code source : c’est ce qu’on appelle le bootstrapping. C’est une date clé qui témoigne de son autosuffisance.

Contrairement à ce qu’on pourrait penser, le nom Rust ne vient pas de la rouille mais du champignon qui pousse sur des surfaces difficiles. C’est une métaphore de la robustesse du langage.

Rust a une communauté open-source très active. Cette communauté fait évoluer le langage et le fait également vivre à travers d’autre projets, notamment le projet Rust for Linux qui consiste à remplacer le langage du noyau Linux par Rust, historiquement écrit en C et en assembleur. Ce changement s’explique en partie par le vieillissement des mainteneurs actuels et la difficulté à recruter une nouvelle génération de contributeurs. Depuis 2022, Linus Torvalds, créateur de Linux, a donné son feu vert à cette évolution. Une première intégration de Rust est apparue dans la version 6.4 du noyau en 2023. À noter que Rust est principalement utilisé pour le développement de nouveaux pilotes, tandis que le C reste le langage central du noyau.

Plus généralement, son utilisation est surtout pour des systèmes d’exploitation et les système de bases de données. Par exemple, Mozilla utilise Rust dans son moteur de rendu Servo qui visait à remplacer Grecko, Dropbox l’utilise pour la synchronisation des fichiers, Cloudflare pour la sécurité réseaux. Même Discord a migré une partie de son infrastructure vers Rust.

Performance

C’est le maître mot de ce langage grâce à son système de gestion de mémoire qui s’éloigne des garbage collector qu’on retrouve dans les langages come C++ ou Go.

Ce système repose sur une combinaison de ownership (propriété) et borrowing (emprunt).

Ce système d’emprunt permet notamment d’accéder à une variable sans en prendre la propriété. Cela permet d’éviter des problèmes classiques de gestion de mémoire, comme les fuites. Une référence immuable (&T) permet de consulter une valeur sans la dupliquer, tandis qu’une référence mutable (&mut T) permet de la modifier. Le compilateur veille à ce qu’il n’existe jamais plus d’une seule référence mutable à un instant donné, ou plusieurs références immuables, mais jamais les deux en même temps. Ce fonctionnement assure une mémoire sûre, sans recourir à un garbage collector — un système souvent utilisé dans d’autres langages pour libérer automatiquement la mémoire.

Compilation native

Sa force se trouve aussi dans sa compilation native.

Pour comparer avec un autre langage que nous utilisons beaucoup : JavaScript, et ses compères Typescript ou JSX, ces derniers doivent être compilés afin d’être interprétés par le navigateur qui ne comprend que le JavaScript. Mais dans ce cas, il s’agira plutôt d’une transpilation bien que la confusion entre les deux est facile. Concernant le JavaScript pur, il peut également être lui-même transpilé, par exemple grâce à Babel qui permet de convertir du JavaScript moderne (ES6) vers une version plus ancienne et donc garantir la compatibilité avec tous les navigateurs. Enfin, JavaScript peut être minifié afin d’en réduire sa taille finale en éliminant tous les caractères « facultatifs » tels que les espaces ou les retours à la ligne. Son rôle peut aussi être de sécurité puisque le code devient moins lisible et est donc moins facilement décryptable par un tiers.

Pour Rust, ce n’est pas pareil. C’est comme le C, C++ ou encore le Go, qui ont tous une compilation native qui vise à distribuer des binaires. Ces binaires peuvent être exécutés directement sans interprétation ni machine virtuelle, de façon autonome. En gros, ça marche, tout de suite et sans aucune dépendance.

En plus d’assurer des performances et une distribution éclair, la compilation permet d’avoir un retour immédiat sur le code et faire office de debug.

Difficile à adopter

Bien qu’apprécié de la communauté, le langage n’est pas facile à prendre en main. Il a une courbe d’apprentissage lente à cause de sa syntaxe stricte et son écosystème récent.

Par exemple, voilà comment écrire le fameux programme Hello World en Rust :

fn main() {
    let mut message = String::from("Hello");
    message.push_str(", world!");
    println!("{}", message);
}

Cet aspect renforce son côté robuste : s’il peut sembler exigeant au premier abord, c’est justement parce qu’il pousse à écrire du code fiable, avec un compilateur qui ne pardonne rien.

S’il est surtout prometteur dans le développement bas-niveau, son écosystème est en pleine maturation et s’étend bien au-delà du back-end.

En agence, Rust n’est pas (encore) un réflexe, mais il pourrait être envisagé pour des API performantes, des outils CLI maison ou des microservices critiques. Son adoption demande certes un investissement initial, mais le gain en fiabilité et en performance en fait un pari d’avenir.

Nettoyez votre historique numérique avec le Digital Cleanup Day
Un projet ? Contactez-nous !
Contactez-nous ! Un projet ?

À propos de nous

Agence conseil en stratégie, communication et création basée à Nice et Paris, notre approche unique allie stratégie, design et technologie pour façonner des plateformes e-commerce, expériences de marque, applications mobiles et autres projet digital ou print sur-mesure.

Depuis 0 ans, nous mobilisons nos savoir-faire au service de nos clients pour concevoir des solutions esthétiques et performantes.

Contact

NICE

16, avenue Fragonard
06100 NICE
04 93 87 03 19

PARIS

18, rue Maublanc
75015 PARIS
01 42 33 58 83

Layer 1 Voir Voir
Pix Associates - Logo blanc

Pour une expérience optimale, veuillez utiliser votre mobile ou tablette en mode portrait.