Programmation en Rust
622 pages
French
PDF
4.5

Programmation en Rust

Programmation en Rust

Auteur :

Année :

Résumé :

Introduction

Le livre « Programming Rust » (première édition, 2017) des auteurs Jim Blandy et Jason Orendorff est l'un des guides les plus autoritaires et les plus approfondis sur le langage Rust, publié dans les premières années suivant la stabilisation du langage. Bien que plusieurs années se soient écoulées depuis sa sortie et qu'une deuxième édition (2021) soit parue, la première édition reste une ressource précieuse pour tous ceux qui souhaitent comprendre les principes fondamentaux de Rust, sa philosophie et les spécificités de la programmation système. Le livre est publié en couverture rigide, contient 622 pages et couvre à la fois des sujets de base et avancés.

De quoi parle ce livre

« Programming Rust » n'est pas simplement un guide de référence sur la syntaxe. C'est un manuel d'apprentissage complet qui présente progressivement le langage au lecteur, depuis l'installation des outils jusqu'aux concepts complexes tels que la propriété, l'emprunt, les durées de vie, les fermetures, les itérateurs, le multithreading et le code unsafe. Le livre est conçu pour donner au lecteur non seulement des connaissances, mais aussi une compréhension de pourquoi Rust est conçu de cette manière. Une attention particulière est accordée au système de types et au modèle de mémoire — les principales différences entre Rust et C++ ainsi que d'autres langages système.

À qui s'adresse ce livre

Le livre est destiné aux programmeurs ayant déjà une expérience avec d'autres langages (C, C++, Python, Java, Go). Il peut sembler difficile pour les débutants en programmation, mais pour ceux qui souhaitent passer à Rust depuis d'autres langages, c'est un point de départ idéal. Les auteurs supposent que le lecteur connaît les concepts de base : pointeurs, pile, tas, compilation, types de données. Si vous écrivez déjà en Rust mais souhaitez approfondir votre compréhension de son fonctionnement interne, ce livre vous sera également utile.

Ce que le lecteur apprendra

  • Les bases de la syntaxe et de la sémantique de Rust : variables, fonctions, structures, énumérations, filtrage par motif.
  • Le système de propriété (ownership), d'emprunt (borrowing) et de durées de vie (lifetimes) : les concepts clés assurant la sécurité mémoire sans ramasse-miettes.
  • Le travail avec les types : programmation générique (generics), traits, dispatch, liaison statique et dynamique.
  • Les fermetures (closures) et les itérateurs : les fonctionnalités fonctionnelles de Rust et leur utilisation efficace.
  • La gestion de la mémoire : Box, Rc, Arc, RefCell, Cell — les pointeurs intelligents et la mutabilité interne.
  • Le multithreading et la concurrence : Send, Sync, mutex, canaux, opérations atomiques.
  • Unsafe Rust : quand et comment utiliser le code non sécurisé, travail avec les pointeurs bruts, FFI (interaction avec C).
  • Les macros : macros déclaratives et procédurales, leur création.
  • Les tests et la documentation : outils de test intégrés, rédaction de documentation.

Points forts du livre

La première chose qui frappe est la clarté et la structuration de l'exposé. Les auteurs ne se contentent pas d'énumérer des faits, mais expliquent la logique du langage. Par exemple, le chapitre sur la propriété et l'emprunt est rédigé de manière si claire que même les concepts complexes deviennent compréhensibles. Deuxièmement, la multitude d'exemples pratiques. Chaque sujet est accompagné de programmes petits mais complets, que l'on peut immédiatement exécuter et expérimenter. Troisièmement, la profondeur. Le livre n'hésite pas à plonger dans les détails : des sujets tels que le fonctionnement interne de Vec, le travail de l'allocateur, le modèle de mémoire sont abordés. Cela permet au lecteur non seulement d'utiliser Rust, mais aussi de comprendre ce qui se passe « sous le capot ». Enfin, la qualité de la traduction (si l'on parle de l'édition en langue française) est excellente, la terminologie est uniforme et conforme aux normes établies.

À qui est-il recommandé

Le livre sera utile :

  • aux développeurs C/C++ qui souhaitent passer à un langage plus sûr mais tout aussi performant ;
  • aux programmeurs Python, Java, Go,

Recommendations