Rust

Définition

Rust est un langage de programmation système compilé conçu par Mozilla

  • Licence : Double licence sous MIT/Apache-2.0
  • Exécution : Compile directement en code machine (backend LLVM)
  • Créateur : Graydon Hoare chez Mozilla expressions
  • Abstractions sans coût : Fonctionnalités de haut niveau compilées en code machine efficace
  • Concurrence sans peur : Garanties à la compilation contre les courses de données

Concepts clés

Concept Description
Propriété Chaque valeur a un propriétaire unique ; transfert à l’affectation
Emprunt Références (&T, &mut T) avec des règles de durée de vie
Durées de vie Suivi à la compilation de la validité des références
Traits Similaires aux interfaces ; définissent un comportement partagé
Enums avec données Types de données algébriques avec valeurs associées
Type Result Gestion explicite des erreurs avec le pattern Ok/Either

Outils

Outil Objectif
cargo Outil de build et gestionnaire de packages (comme Maven pour Java
rustc Compilateur
rustfmt Formatteur de code
clippy Linter
rustdoc Générateur de documentation

Versions majeures

Version Année Caractéristiques clés
Rust 1.0 2015 Version stable
Rust 1.30 2018 async/await (expérimental)
Rust 1.36 2019 async/await (stable)
Rust 1.39 2019 match-arms
Rust 1.53 2021 Generics de constante
Rust 1.65 2022 match-arms
Rust 1.70 2023 pattern-matching
Rust 1.75+ 2023-2024 async-closures, const-generics

Cas d’utilisation

  • Systèmes d’exploitation (Redox OS, modules du noyau linux)
  • Modules WebAssembly (Wasm)
  • Systèmes embarqués et IoT
  • Blockchain (Solana, Near)
  • Composants de navigateur (Firefox, Chromium)
  • Outils CLI et utilitaires système

Comparaison avec les langages apparentés