Développer avec Rust

Rust, programmation

Objectifs de la formation

  • Concevoir et lire des programmes en Rust
  • Programmer objet avec les structs et les traits
  • Utiliser les lambdas, l’inférence de type, le pattern matching
  • Maîtriser les cycles de vie des objets
  • Utiliser les API les plus courantes de Rust


Programme de la formation

Introduction et outillage Rust

  • Un langage sécurisé et performant : détection des erreurs à la compilation et panique contrôlée.
  • Compilateur Rust.
  • Cargo pour la gestion des projets et paquets.
  • Documentation avec Rustdoc.
  • Les environnements de développement intégré (IDE) pour Rust.

Travaux pratiques

Prise en main du langage et de son outillage.

Bases de Rust

  • Les types de base de Rust. Variables mutables et immuables.
  • Différents types de chaînes de caractères.
  • Programmation procédurale et retour des fonctions implicites.
  • Contrôle de flux et différents types de boucles, pattern matching.
  • Programmation générique avec Rust.
  • Expressions lambdas et captures.
  • Les macros de Rust pour la métaprogrammation.

Travaux pratiques

Implémentation d’algorithmes procéduraux et génériques avec Rust.

Vers une programmation orientée objet

  • Les "traits" standards les plus communs : Copy, Clone, Into, Drop…
  • Visibilité, publicité, privauté à travers les modules et les crates.
  • Agréger les données avec les structs et les tuples.
  • Implémentation des structs.
  • Enum pour codifier et structurer.
  • Contrats fortement typés avec les traits et leur implémentation.

Travaux pratiques

Conception à base d’interface.

Cycle de vie des objets, gestion mémoire

  • Cycle de vie des objets, portées, possession et emprunt des objets.
  • Mettre un label sur les portées des objets pour les cycles de vie complexes.
  • Compteurs de référence Rc<T> pour le partage des objets.
  • Allocation dynamique avec Box<T> pour la liberté du cycle de vie.
  • Pointeurs, blocs unsafes et pointeurs intelligents avec Unique<T>, Shared<T> pour le bas niveau.

Travaux pratiques

Implémentation d’arborescence et gestion de cycle de vie.

Bibliothèques de Rust

  • Appeler Rust avec d’autres langages grâce à Foreign Function Interface (FFI).
  • Les collections de Rust.
  • Bibliothèques d’entrées sorties : lire et écrire dans les fichiers avec Rust.
  • Multithreading avec Rust : synchroniser l’accès aux données.
  • Appeler du code C avec Rust.

Travaux pratiques

Faire du multitâche avec Rust.

Please login to get access to the quiz
Rust, Développement avancé (Prev Lesson)
Back to Développer avec Rust
Public

Développeurs, chefs de projets, architectes.

Pré-requis

Bonne connaissance d’un langage de programmation, et connaissance des pointeurs/références.

Sur le même thème