Rust ne fait pas exception : aucune ressource pédagogique n’est suffisante à elle-seule pour permettre de le maîtriser complètement. Toutefois, afin de faciliter l’apprentissage de ce langage, JetBrains a élaboré Learn Rust, un nouveau cours gratuit qui couvre une grande partie des besoins des apprenants.
Ce cours est notamment basé sur le contenu du livre The Rust Programming Language, de Steve Klabnik et Carol Nichols, avec des contributions de la communauté Rust, et reprend la plupart des exercices du célèbre ensemble rustlings. L'équipe JetBrains a par ailleurs conçu environ un quart des exercices spécifiquement pour ce cours. Il propose une nouvelle façon d’apprendre Rust, en fournissant une combinaison de textes et d’exercices judicieuse, disponible dans plusieurs des EDI de l'entreprise.
Pourquoi choisir Rust
Il ressort des résultats de l’enquête StackOverflow developer survey que Rust est le langage de programmation le plus apprécié des développeurs depuis 7 ans, et qu’il est aussi celui qui suscite le plus d’intérêt (à égalité avec Python).
Rust a récemment fait son entrée dans la liste des langages pris en charge pour l’écriture des composants du noyau Linux, et se classe en deuxième position de cette liste, juste après C ! Libcurl, l’une des bibliothèques les plus utilisées pour récupérer les données des réseaux évolue progressivement vers Rust. Google indique que l’utilisation de code Rust dans l’implémentation d’Android augmente de version en version, ce qui l’aide à réduire le risque de vulnérabilité et à améliorer la sécurité. Microsoft utilise Rust pour sécuriser la mémoire dans ses produits et Amazon pour assurer la durabilité de son infrastructure.
Les développeurs utilisant d’autres langages de programmation, tels que JavaScript ou Python, optent souvent pour Rust lorsqu’ils cherchent à obtenir de meilleures performances avec les outils et les bibliothèques.
Enfin, la communauté Rust est particulièrement accueillante, toujours prête à aider et à encourager les utilisateurs débutants.
Cela dit, la courbe d’apprentissage de Rust étant difficile, il est recommandé d’être assidu et de suivre une méthode définie. C’est précisément ce que JetBrains souhaite offrir avec le cours Learn Rust.
Apprendre Rust dans un EDI
Le cours Learn Rust est construit sur la plateforme éducative fournie par le plugin JetBrains Academy. Ce plugin est disponible dans de nombreux EDI de JetBrains, parmi lesquels CLion, GoLand et IntelliJ IDEA Community Edition, et donne accès à des cours gratuits pour plusieurs langages de programmation.
Les cours de JetBrains basés sur des EDI incluent la mise à disposition de matériel pédagogique, l’exploration d’exemples de code et la résolution de problèmes. Chaque leçon comprend une séquence d’étapes, composées de contenus théoriques avec des exemples et des problèmes à résoudre. Les étapes du problème constituent un moyen facile de vérifier vos solutions.
Lorsque vous étudiez un cours dans un EDI, vous disposez d’une fenêtre dédiée avec 3 panneaux : une vue du cours, un éditeur de code et une description, comme dans la capture d’écran ci-dessous.
Apprendre un langage via un EDI vous permet par ailleurs d’acquérir une expérience pratique du développement logiciel. En effectuant les exercices, vous écrivez, vérifiez, corrigez, exécutez, déboguez et testez le code, comme un développeur le fait dans le cadre de ses activités quotidiennes. À l’issue du cours, vous aurez une solide connaissance d’un langage de programmation et saurez utiliser un outil de développement professionnel.
Spécificités du cours
Tout comme le livre sur lequel il est basé, le cours Learn Rust part du principe que vous avez déjà une connaissance pratique d’un langage de programmation. Aussi, il apprend à programmer spécifiquement en Rust mais ne propose pas d’introduction à la programmation traitant des sujets de base.
Le cours suit la structure de The Rust Programming Language, et contient les sections suivantes :
- Introduction
- Concepts de programmation courants
- Comprendre le concept de propriété
- Structs, Methods, Enums et filtrage par motif
- Modules
- Collections standards
- Gestion des erreurs
- Types génériques, traits et durées de vie
- Écrire des tests automatisés
- Types de bibliothèque standards
- Fearless Concurrency
- Macros
Il comprend 331 étapes au total, dont 210 étapes théoriques et 121 étapes de résolution de problèmes. Chaque étape se présente sous la forme d’un paquet Cargo, ce qui permet de présenter et d’apprendre non seulement les fonctionnalités de base du langage mais aussi les modules, les crates, les macros, les tests au niveau du paquet, les dépendances externes, etc.
Outre la lecture de contenus, chacune d’elle implique de travailler avec du code. Si le code de l’étape contient la fonction principale, il peut être exécuté :
Dans la plupart des étapes de résolution de problème, vous n’avez accès qu’à un seul fichier de code (comme dans la capture d’écran ci-dessus), mais la structure de l’ensemble du paquet est parfois disponible pour vous permettre d’examiner des composants importants, comme les fichiers de description du projet :
À partir de là, vous pouvez accéder à la documentation d’une crate ou connaître les versions disponibles.
Avant d’essayer de vérifier votre solution en cliquant sur le bouton Check, vous pouvez exécuter des tests individuels ou les exécuter tous en même temps.
Ces fonctionnalités du cours ont pour but de vous présenter dès le départ les bonnes pratiques du développement logiciel dans un EDI. JetBrains est convaincue qu’avoir l’opportunité d’utiliser des outils de développement professionnels dès le début de votre parcours d’apprentissage constitue un avantage majeur. La prise en charge de premier ordre de Rust qu’offrent ses EDI vous permet de vous familiariser avec de tels outils tout en apprenant le langage.
Si ce cours ne suffit pas pour acquérir une maîtrise complète de Rust, il constitue un bon point de départ.
Apprendre gratuitement le langage Rust avec JetBrains