Trop de listes chaînées
150 pages
French
PDF
4.5

Trop de listes chaînées

Trop de listes chaînées

Auteur :

Année :

Résumé :

Introduction

Le livre « Too Many Linked Lists » (en traduction russe — « Trop de listes chaînées ») d'Alexis Beingessner n'est pas simplement un énième guide sur le langage Rust. C'est un manuel unique, profond et parfois provocateur qui force le lecteur à vraiment comprendre comment fonctionnent la mémoire, la possession et le code unsafe en Rust. Publié en 2021, ce livre d'environ 150 pages est devenu culte parmi les développeurs Rust souhaitant passer de l'écriture de code sécurisé au travail avec des pointeurs bruts et la gestion manuelle de la mémoire.

L'auteur est un développeur Rust bien connu de la communauté, ayant travaillé sur la bibliothèque standard de Rust et contribué à des projets comme Servo. Son style est vivant, humoristique et sans fioritures. Le livre est disponible gratuitement en ligne, mais pour le site éducatif PythonLib, nous le considérons comme une ressource précieuse pour tous ceux qui souhaitent approfondir la programmation système.

De quoi parle ce livre ?

Le titre parle de lui-même : le livre est consacré à l'implémentation de différents types de listes chaînées en Rust. Mais pas des listes simples : celles qui nécessitent l'utilisation de unsafe Rust — pointeurs bruts, déréférencement manuel et gestion de la mémoire. Au total, le livre examine six implémentations différentes de listes simplement et doublement chaînées, chacune révélant un aspect particulier du travail avec la mémoire.

En commençant par une simple pile basée sur Box, l'auteur complexifie progressivement les exemples, passant aux listes utilisant des pointeurs bruts, la mise en cache, et même aux listes utilisant une allocation mémoire « paresseuse ». Chaque chapitre est un défi distinct qui force le lecteur à repenser le fonctionnement de l'emprunt, des durées de vie et de la sécurité.

À qui s'adresse ce livre ?

Le livre s'adresse aux programmateurs déjà familiers avec les bases de Rust. Si vous commencez tout juste à apprendre Rust et que vous ne maîtrisez pas encore les concepts de possession, d'emprunt et de durées de vie, ce livre pourrait vous sembler difficile. Cependant, pour ceux qui ont assimilé la syntaxe de base et veulent comprendre comment Rust fonctionne « sous le capot », c'est la prochaine étape idéale.

Le livre sera également utile aux développeurs C/C++ qui souhaitent voir comment Rust résout les problèmes de gestion de la mémoire et sont prêts à plonger dans le monde unsafe. Et bien sûr, il est indispensable pour tous ceux qui prévoient d'écrire des bibliothèques Rust manipulant des structures de données bas niveau.

Qu'apprendra le lecteur ?

Après avoir lu ce livre, vous serez capable de :

  • Comprendre quand et pourquoi le code unsafe est nécessaire — et comment minimiser les risques lors de son utilisation.
  • Implémenter une liste simplement et doublement chaînée à partir de zéro, en utilisant des pointeurs bruts.
  • Maîtriser le travail avec Pin et Unpin — les mécanismes garantissant la stabilité des adresses des objets en mémoire.
  • Apprendre à écrire des wrappers sécurisés autour du code unsafe, sans violer les garanties de Rust.
  • Comprendre le fonctionnement des allocateurs et comment créer vos propres stratégies d'allocation mémoire.
  • Connaître les erreurs typiques lors du travail avec les pointeurs : pointeurs pendants, double libération, courses de données.

Points forts du livre

La première chose qui frappe est le style d'écriture. Alexis écrit avec humour, s'adresse souvent au lecteur, partage sa propre expérience et ses erreurs. Ce n'est pas un manuel sec, mais un dialogue vivant. Le deuxième point fort est la progression graduelle. Chaque nouveau chapitre s'appuie sur le précédent, et vous n'avez jamais l'impression d'être jeté dans le grand bain.

Le troisième est l'orientation pratique. Il n'y a pas d'exemples abstraits dans le livre ; chaque code peut être exécuté et vérifié. L'auteur accorde également de l'attention aux tests et au débogage du code unsafe, ce qui est crucial dans le développement réel. Enfin, le livre est gratuit et disponible en version web, ce qui le rend accessible à tous.

Le seul inconvénient est le livre

Recommendations