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.