Bienvenue à Comprehensive Rust (le guide complet de Rust) 🦀

Build workflow GitHub contributors GitHub stars

Ce cours Rust gratuit a été développé par l'équipe Android de Google. Le cours couvre l'ensemble du langage Rust, de la syntaxe de base aux sujets avancés comme les génériques et la gestion des erreurs.

La version la plus à jour de ce cours se trouve à l'adresse suivante: https://google.github.io/comprehensive-rust/. Si vous lisez ce cours depuis une autre adresse, n'hésitez pas à suivre ce lien pour accéder à la dernière version.

Ce cours est également disponible au format PDF.

Le but du cours est de vous apprendre Rust. Nous supposons que vous découvrez ce langage et espérons :

  • Vous donner une compréhension complète de la syntaxe et du langage Rust.
  • Vous permettre de modifier des programmes existants et d'écrire de nouveaux programmes en Rust.
  • Vous montrer les constructions fréquentes (idiomes) en Rust.

Nous appelons les quatre premiers jours de ce cours les «Fondamentaux de Rust».

Au-delà de ces quatre premiers jours de cours, nous vous invitons à approfondir un ou plusieurs des sujets suivant:

  • Android: un cours d'une demi-journée consacré à l'utilisation de Rust dans le cadre du développement pour la plate-forme Android. Ce cours couvre également l'interopérabilité avec les langages C, C++ et Java.
  • Chromium: un cours d'une demi-journée consacré à l'utilisation de Rust dans le cadre du développement pour les navigateurs internet basés sur Chromium. Il inclut l'interopérabilité avec le langage C++ et explique comment inclure des crates tierces dans Chromium.
  • Bare-metal: un cours d'une journée consacré à l'utilisation de Rust pour le développement embarqué. Le cours touche à la fois aux microcontrôleurs et aux processeurs d'applications.
  • Programmation concurrente: un cours d'une journée consacré à la programmation concurrente en Rust. Nous couvrons la concurrence classique (planification à base de threads et mutex) ainsi que la concurrence async/await (multitâche coopératif à base de futures).

Non-objectifs

Rust est un vaste langage et nous ne pourrons pas tout couvrir en quelques jours. Certains non-objectifs de ce cours sont :

Prérequis

Le cours suppose que vous savez déjà programmer. Rust est un langage statiquement typé et nous ferons parfois des comparaisons avec C et C++ pour mieux expliquer ou contraster l'approche de Rust.

Si vous savez programmer dans un langage à typage dynamique tel que Python ou JavaScript, vous pourrez également suivre ce cours sans problème.

Ceci est un exemple de note du formateur. Nous les utiliserons pour ajouter d'autres informations sur les diapositives. Cela pourrait être des points clés que l'instructeur devrait couvrir, ainsi que des réponses aux questions typiques posées en classe.