2023-07-04 08:05 Temps de lecture : 20 min

19 meilleures ressources pour apprendre Rust

Rust, un langage de programmation novateur, a suscité un vif intérêt au sein de la communauté des développeurs. Il se positionne comme une alternative aux langages C et C++, en palliant leurs faiblesses tout en conservant des performances d'exécution équivalentes, voire supérieures. Cette prouesse lui a valu de trôner au sommet du classement des langages préférés des développeurs sur StackOverflow, et ce, pendant sept années consécutives !

Si ces arguments ont éveillé votre curiosité et que vous envisagez d'apprendre Rust, c'est un excellent choix. Le marché de l'emploi pour les développeurs maîtrisant ce langage semble très prometteur. Pour vous accompagner dans votre démarche, voici une sélection des meilleures ressources disponibles, englobant des cours, des livres et des blogs.

Allons-y !

Qu'est-ce qui distingue Rust et pourquoi l'adopter ?

Lancé en 2015, Rust a progressivement conquis le cœur des entreprises et des développeurs. Sa popularité grandissante s'explique par plusieurs facteurs clés :

  • Sa vitesse d'exécution remarquable
  • Sa conception rigoureuse en matière de sécurité mémoire
  • Sa prise en charge performante de la concurrence

Rust se positionne comme un langage de haut niveau, comparable à Python, tout en offrant des performances similaires à celles du C/C++. Cette particularité permet aux développeurs de concevoir des applications à la fois rapides et sécurisées. En bref, son système d'abstraction permet d'accéder à la mémoire de bas niveau tout en utilisant des concepts de programmation de haut niveau.

Cependant, l'élément distinctif de Rust est son modèle de propriété et d'emprunt. Il impose aux développeurs une approche de conception et d'exécution rigoureuse, réduisant considérablement les risques de bogues. Le compilateur s'assure que toute erreur est corrigée avant l'exécution du code, garantissant ainsi la sécurité de la mémoire et des threads.

Sur le marché du travail, Rust bénéficie également d'une position privilégiée. Voici quelques données intéressantes :

  • Les salaires des développeurs Rust débutants avoisinent les 60 000 dollars par an.
  • En moyenne, les développeurs Rust gagnent 120 000 dollars par an.
  • Les développeurs expérimentés peuvent prétendre à un salaire annuel de 140 000 dollars.
  • Le marché de Rust connaît une croissance rapide, avec une forte demande pour les développeurs spécialisés.

En conclusion, choisir Rust comme langage de programmation principal est une décision judicieuse.

Si vous hésitez encore sur l'intérêt de Rust, consultez l'article : Les raisons d'utiliser Rust pour votre prochain projet de développement.

Le meilleur point de départ : la documentation officielle de Rust, "Le Livre" et le cours "Rustlings"

La documentation officielle de Rust

Pour commencer votre apprentissage de Rust, la documentation officielle est une ressource incontournable. Disponible sur le site web officiel de Rust, elle couvre la quasi-totalité des aspects du langage. Cependant, elle ne propose pas de parcours d'apprentissage structuré. Pour cela, il est conseillé de se tourner vers "Le Livre" et le cours officiel.

"Le Livre" : The Rust Programming Language

Surnommé "Le Livre", cet ouvrage de référence est la meilleure ressource écrite pour apprendre le langage Rust. Il explore tous les aspects techniques du langage, des bases aux concepts avancés tels que le modèle de propriété et d'emprunt, en passant par la gestion des projets et des packages. Il aborde également des sujets pointus comme la gestion des erreurs, les tests automatisés, les fonctionnalités "unsafe", les macros et la programmation fonctionnelle. "Le Livre" propose également des projets pratiques, dont le célèbre "Hello, World", un projet d'E/S et un projet final consistant à construire un serveur web multithread.

Il est également recommandé de consulter "Rust by Example", qui propose des exemples concrets pour illustrer les différents concepts de Rust, ce qui en fait une ressource idéale pour les débutants.

Le cours "Rustlings" sur GitHub

Le cours "Rustlings" est un excellent complément, particulièrement adapté aux débutants. Il aborde les bases de la syntaxe de Rust, la configuration de l'environnement de développement et d'autres notions fondamentales.

Ces ressources vous fourniront les bases nécessaires pour devenir un "Rustacé" (terme employé sur internet pour désigner les utilisateurs de Rust).

Programmation Rust pour débutants

"Beginner Rust Programming" est un ouvrage conçu pour les débutants. Ricc Messier y aborde les concepts fondamentaux de Rust à travers des exemples concrets. Il explore les moindres détails du langage, y compris son modèle et son système de type évolué. Vous apprendrez ainsi à développer des applications sûres, tant au niveau de la mémoire que des threads. Le livre vous initiera également à la programmation de systèmes embarqués.

Ces caractéristiques font de "Beginner Rust Programming" un choix idéal pour les personnes ayant des bases en C/C++, voire même pour les débutants en programmation.

Programmer WebAssembly avec Rust

"Programming WebAssembly with Rust" offre une perspective intéressante sur l'utilisation de Rust pour la création d'applications web.

WebAssembly est un langage de bas niveau qui s'exécute dans les navigateurs modernes. L'association de Rust et WebAssembly permet de concevoir des applications web rapides, offrant des performances proches du natif tout en étant exécutées dans le navigateur.

Dans ce livre, vous découvrirez les outils nécessaires et leur utilisation, ainsi que l'intégration de votre code Rust dans JavaScript. Vous apprendrez également les fondamentaux de WebAssembly, son fonctionnement, son intégration et son utilisation pour la création d'applications web performantes.

Ce livre est recommandé aux personnes ayant déjà une bonne connaissance de Rust et souhaitant l'exploiter avec WebAssembly. Il n'est pas adapté aux débutants complets.

Rust en action

Comme son nom l'indique, "Rust in Action" propose une approche pratique du langage Rust. Clairement rédigé, il s'adresse aussi bien aux débutants qu'aux développeurs Rust expérimentés.

Il explore le langage à travers des exemples concrets et vous familiarise avec le fonctionnement des ordinateurs. Vous apprendrez à manipuler les instructions de mémoire, de mise en réseau, de stockage persistant et du CPU.

Le livre aborde également des sujets comme la programmation concurrente et parallèle, vous donnant les outils nécessaires pour écrire du code rapide et multithread. C'est un excellent choix pour les personnes souhaitant acquérir une expérience pratique de la programmation système et de la programmation Rust, du niveau débutant à avancé.

Ce livre est particulièrement adapté aux apprenants de niveau intermédiaire.

Programmation avec Rust

Rust est réputé pour ses capacités en programmation système. Le livre "Programming Rust" de Jim et Jason vous apprendra tout ce qu'il faut savoir sur le sujet. Une fois sa lecture terminée, vous serez capable de concevoir des solutions fiables et rapides.

Jim et Jason mettent en évidence la capacité de Rust à permettre aux développeurs d'écrire du code sans erreur, en illustrant le lien direct entre la sécurité et les performances à travers des exemples concrets.

Le livre commence par les fondamentaux de Rust, puis aborde l'écriture de code efficace et flexible. Il traite ensuite du code multithread et de l'utilisation des outils puissants de Rust, tels que les itérateurs, les fermetures et la programmation asynchrone.

Rust en pratique

"Hands-on Rust" est un excellent ouvrage pour les personnes souhaitant apprendre les bases de Rust, notamment celles qui sont déjà familiarisées avec les langages C et C++. Il aborde les sujets de manière pratique, en s'appuyant sur des projets concrets, allant d'un simple "Hello, World" à un jeu complet de type "dungeon crawler".

L'un des principaux atouts du livre est qu'il vous enseigne les compétences essentielles en développement de jeux, utilisables avec des moteurs populaires comme Unity et Unreal. Il aborde également des sujets importants de Rust, tels que la concurrence et la sécurité de la mémoire.

En bref, "Hands-on Rust" est un excellent choix si vous souhaitez utiliser Rust dans le développement de jeux. Il propose des exemples pratiques pour vous préparer à créer votre propre jeu !

Programmation web avec Rust

"Rust Web Programming" de Maxwell Flitton vous apprend à créer des applications web à l'aide de Rust. Vous apprendrez à utiliser ce langage pour développer des applications web performantes et sécurisées, en intégrant d'autres technologies web comme Terraform, AWS et les serveurs Rust sans état.

Le livre propose des exemples pratiques de frameworks web Rust, comme Hyper, Rocket et Actrix. Vous créerez notamment une application web de liste de tâches évolutive, gérerez l'authentification, utiliserez des serveurs Rust sans état, et apprendrez à déployer votre application sur AWS.

Ce livre s'adresse principalement aux développeurs web souhaitant approfondir leurs connaissances en programmation Rust pour le web.

Rust pour les Rustacés

"Rust for Rustaceans" est un excellent livre pour perfectionner vos compétences en Rust. Il s'adresse aux programmeurs ayant déjà des bases solides et souhaitant développer et maintenir des bases de code importantes, gérer des projets complexes et écrire des applications et des bibliothèques performantes.

Pour atteindre cet objectif, le livre aborde les traits, la propriété, le code "unsafe" et la concurrence. Vous apprendrez également à concevoir des programmes Rust fiables, ergonomiques et idiomatiques. Il aborde également les macros asynchrones en Rust, qu'elles soient déclaratives ou procédurales.

Le langage de programmation Rust

Le livre "Rust Programming Language", écrit par Carol et Steve, deux figures de l'équipe Rust Core, est l'un des ouvrages les plus populaires sur le sujet. Il s'est vendu à plus de 50 000 exemplaires à ce jour. Sa popularité s'explique par la richesse de ses enseignements pratiques sur la création de logiciels évolutifs et fiables.

Le livre commence par les bases, en abordant les types de données, les fonctions et les variables. Une fois ces concepts maîtrisés, les auteurs traitent des sujets avancés tels que la propriété, l'emprunt, les traits, les génériques, les pointeurs intelligents, le multithreading et bien d'autres. Le livre aborde également Cargo et son utilisation pour la construction et la gestion de vos projets.

Apprendre Rust en construisant des applications réelles

Le cours "Learn Rust by Building Real Applications" d'Udemy est l'un des meilleurs cours disponibles sur Rust. Il aborde les fondamentaux du langage, la gestion de la mémoire de bas niveau, les techniques de résolution des erreurs de compilation et la sécurité de la mémoire.

Le cours dure plus de 6h30 et donne droit à un certificat de réussite.

Les fondamentaux de Rust

"Rust Fundamentals" est un cours adapté aux débutants, abordant la syntaxe de Rust et d'autres aspects fondamentaux du langage. Il traite également de la sécurité de la mémoire, de la mutabilité, de l'emprunt et d'autres concepts avancés. Ce cours est relativement court, avec 4h30 de contenu.

Le cours "Le langage de programmation Rust"

Le cours "Rust Programming Language" de Dmitri Nesteruk est un cours Udemy très apprécié, qui vous apprend à utiliser Rust comme langage de programmation système.

Dmitri vous montre comment résoudre les problèmes liés à Rust, en abordant ses forces et ses faiblesses. Vous apprendrez également à utiliser efficacement le système de sécurité mémoire de Rust pour développer des applications et des bibliothèques. Enfin, vous apprendrez également à tester et à documenter votre code.

Ce cours est assez long, avec 8h30 de vidéo à la demande.

Apprendre Rust à partir de zéro (Cours gratuit)

"Learn Rust from Scratch" est un cours gratuit proposé par Educative. Il dure 9 heures et vous permettra d'approfondir vos connaissances sur Rust. Il commence par les bases, telles que les variables, les types de données, les opérateurs, les expressions conditionnelles et les boucles, pour ensuite aborder des concepts plus complexes, comme les énumérations, les modules, la gestion de la mémoire et les vecteurs.

Ce cours est également adapté aux personnes n'ayant aucune expérience en programmation !

Programmation Rust : Le guide complet du développeur

Si vous êtes débutant mais que vous recherchez une approche plus approfondie de la programmation Rust, "Rust Programming: The Complete Developer’s Guide" de ZTM est un bon choix.

Le cours aborde les bases de la programmation informatique, puis traite des concepts du langage Rust, notamment les traits, les tranches, la mémoire, les génériques et la mutabilité. Vous découvrirez également l'écosystème Rust et réaliserez des projets concrets pour étoffer votre portfolio.

Le cours intensif ultime sur Rust

"Ultimate Rust Crash Course" est un cours best-seller sur le langage Rust, avec plus de 30 000 étudiants et une note de 4,6. Le cours couvre les concepts fondamentaux de Rust, ainsi que l'outillage et l'écosystème.

Nathan Stocks, le formateur, aborde également d'autres concepts importants liés à Rust, notamment les références, l'emprunt de propriété, le modèle de mémoire, etc.

Bonus : "Exercism Rust Track" vous permet d'explorer Rust à travers 97 exercices. L'avantage de cette ressource est qu'elle est 100% gratuite. Si vous êtes débutant et souhaitez vous lancer dans Rust, ce cours est fait pour vous ! Les exercices sont classés par niveau de difficulté, afin que vous puissiez choisir ceux qui vous conviennent le mieux. Ce cours est particulièrement adapté pour apprendre la syntaxe et les concepts de Rust.

Blogs sur Rust

Les blogs spécialisés sur Rust sont un excellent moyen d'approfondir vos connaissances, de découvrir des tutoriels et des exemples d'utilisation. Vous pouvez commencer par le blog officiel de Rust, régulièrement mis à jour.

Ensuite, consultez l'agrégateur "ReadRust", qui rassemble les articles intéressants des blogs traitant de Rust. Voici quelques autres blogs intéressants :

Enfin, n'oubliez pas "Rust Anthology", une collection d'excellents articles de blog liés à Rust.

Podcasts, newsletters, communautés et forums Rust

Pour compléter vos ressources d'apprentissage de Rust, vous pouvez consulter des podcasts, des newsletters, des communautés et des forums.

Dernières réflexions

Rust est un excellent choix pour tout développeur. Il comble le fossé entre les langages de programmation de bas niveau, comme C/C++, et les langages de haut niveau, comme Python. C'est un langage sécurisé au niveau de la mémoire, performant, qui donne aux développeurs un contrôle total sur le comportement et le fonctionnement de leurs programmes.

De plus, Rust est conçu pour mettre l'accent sur les besoins des développeurs, ce qui en fait l'un des langages de programmation les plus populaires.

Une fois que vous commencerez à utiliser Rust, vous constaterez rapidement sa supériorité technique par rapport aux autres langages, avec peu ou pas d'inconvénients.

Cependant, il est important de savoir que Rust est encore un langage relativement jeune, qui évolue avec de nouvelles fonctionnalités. Sa bibliothèque et sa documentation sont donc encore en cours de développement. Le processus de développement peut également être ralenti par les messages d'erreur détaillés du compilateur et le temps de compilation (qui peut être amélioré à l'aide d'outils de gestion des erreurs).

Globalement, Rust est un excellent choix ! Il prend en charge WebAssembly et gagne en popularité grâce à la demande croissante sur le marché. Alors, félicitations pour votre choix et bon apprentissage !

N'hésitez pas à consulter notre article sur les meilleurs hébergeurs de serveurs Rust pour savoir où héberger vos applications.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.