Le langage Rust#
Rust est un langage de programmation système conçu pour offrir des garanties de sécurité mémoire sans recourir à un ramasse-miettes. Développé par Mozilla Research et publié en version stable en 2015, il introduit le concept de possession (ownership) : chaque valeur appartient à une variable précise, et le compilateur vérifie statiquement que les règles d’emprunt sont respectées, éliminant ainsi toute une classe d’erreurs — déréférencement de pointeur nul, double libération, courses aux données — avant même l’exécution. Ce livre s’adresse aux développeurs qui souhaitent maîtriser Rust dans sa totalité, des bases jusqu’à la programmation asynchrone et aux macros.
L’ouvrage suit une progression pédagogique rigoureuse. Les premières parties posent les fondations : types, structures de contrôle et le système de possession avec ses règles d’emprunt et de durées de vie. Les parties centrales couvrent les traits, les génériques, les itérateurs et les fermetures, qui forment le cœur du style idiomatique Rust. Les parties avancées abordent la concurrence sans données partagées dangereuses, la programmation asynchrone avec async/await et les macros procédurales.
Partie I — Fondations#
Partie II — Possession et mémoire#
Partie III — Structurer les données#
Partie IV — Organiser le code#
Partie V — Idiomes et abstractions#
Partie VI — Programmation avancée#
À propos de l’image de couverture. Ferris, le crabe non officiel de Rust, est devenu le symbole de la communauté. Le choix d’un crustacé n’est pas un hasard : les crabes possèdent un exosquelette rigide qui les protège, à l’image du système de types de Rust qui protège le programmeur des erreurs de mémoire. Ferris a été créé par Karen Rustad Tölvä en 2015.
À propos de ce livre. Ces notes couvrent le langage Rust dans sa totalité conceptuelle, des fondations jusqu’à la programmation asynchrone et les macros. L’objectif n’est pas de remplacer The Rust Programming Language mais d’offrir un traitement complet, structuré et en français, avec des exemples exécutables. La rédaction a été réalisée par Lôc Cosnier avec l’assistance de Claude (Anthropic), un modèle de langage. Le contenu a été relu, structuré et validé par l’auteur ; toute erreur restante lui est imputable.