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