Public visé
Développeurs souhaitant découvrir un langage système moderne, performant et sûr.
Prérequis
- Bonne connaissance de la programmation
- Notions d’algorithmique
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Découvrir et utiliser le langage Rust
- Installer l’environnement de développement
- Décrire les concepts fondamentaux (ownership, mutabilité)
- Appliquer le polymorphisme et les traits
- Utiliser les fonctions d’ordre supérieur
- Explorer les collections
- Comprendre la concurrence de manière sûre
Programme
Jour 1 - Matin
Fondations
- Histoire de Rust, inspirations et motivations
- Configuration de l’environnement (compilateur, cargo, rustup)
- Conventions de syntaxe de base
Jour 1 - Après-midi
Types et expressions
- Système de types
- Expressions et fonctions
- Structures de contrôle
Jour 2 - Matin
Concepts fondamentaux
- Types définis par l’utilisateur
- Ownership et mutabilité
- Références et sémantique copy/move
Jour 2 - Après-midi
Gestion mémoire
- Borrowing et pattern matching
- Concepts de base des lifetimes
- Slices et références
Jour 3 - Matin
Polymorphisme
- Traits et implémentation
- Génériques
- Fonctions d’ordre supérieur et closures
Jour 3 - Après-midi
Collections et concurrence
- Vec, HashMap, BTreeMap
- Bases de la concurrence
- Rc, Arc, threads
- Message passing et channels
Modalités d’évaluation des acquis
- En cours de formation, par des travaux pratiques
- Et, en fin de formation, par un questionnaire d’auto-évaluation