Contact
Personnel
Rust
Apprentissage

Rust au doigt et à l'œil

13 avr. 2025

par Augustin Gjini

Le 4 avril 2025, l'équipe de création du langage Rust nous propose de participer à un sondage pour contribuer à l'élaboration de la direction du langage Rust pour 2025. La première question du sondage m'a donné envie de partager une rétrospective de ma découverte de Rust.
fn main() { println!("Prêt pour le grand plongeon ?"); }

2017 : Échec

J'ai d'abord utilisé Rust lors d'un hackathon de 2 jours (petite API backend en HTTP pour traiter des images et créer des vidéos), sans aucune préparation (sans lire le Rust Book, sans connaître les concepts). Ce fut un échec car nous sommes retournés à Java tout de suite. L'intégration avec l'IDE était très pauvre (JetBrains) comparé à mon habitude avec Java à l'époque. Nous avons beaucoup aimé pouvoir compiler un exécutable Windows depuis Linux très facilement. J'ai été perdu dans tous les types de la lib standard et du côté assez austère et touffu de la documentation de l'API std.
Conclusion : je sais que ce langage peut me plaire mais je me dis que le tooling n'est pas encore prêt, et surtout pas moi ;-)

2022 : Apprentissage solo

En 2022, je me dis que le langage est plus mature, je suis attiré par sa promesse : performance, ergonomie. À l'époque, on commence à en entendre plus parler sur les réseaux. J'espère trouver dans ce langage tout ce qu'il me manquait dans le C# à l'époque : des types qui ne permettent pas de faire les erreurs du passé, des syntaxes permettant de définir des types clairs et parlants, et d'exploiter les principes d'exhaustivité de la programmation fonctionnelle. Éliminer définitivement les problèmes de gestion d'héritages. En gros, me permettre de modéliser de manière claire et sûre.
Je prends un plaisir monstre à comprendre les principes en lisant le livre.

2023 : Apprentissage en groupe

Nous avons l'idée de créer un meetup Les Crustaces Lozériennes ! pour permettre à tous les développeurs autour de moi de découvrir les principes du langage, et de se perfectionner avec les fondamentaux des langages informatiques.
Le groupe continue encore en 2025, nous nous réunissons chaque semaine. J'ai lu le Rust Book trois fois. L'apprentissage en groupe est très riche et nous prenons le temps d'explorer et de comprendre tous les aspects en profondeur. Le Rust Book est un excellent livre pour apprendre le langage Rust, très didactique. Cela permet au groupe de n'avoir qu'à "suivre" le bouquin et de prendre beaucoup de plaisir.

2024/2025 : Projets Rust en production

  • thor cli pour gérer la partie DevOps de l'entreprise Synergee (basé sur la robustesse et la sécurité de Rust)
  • Projet jamin (SaaS pour l'aide à la programmation de festivals de cinéma) : cli et api backend en rust (axum)
  • Divers side projects, notamment un jeu avec bevy
  • Contributions open source : rio, bar
  • Rencontre avec une communauté pleine d'énergie au Rust Lab 2024 à Florence. 😉 Serhiy Barhamon

Retour sur l'utilisation personnelle de Rust

Étonnamment fluide et satisfaisante (malgré quelques apprentissages nécessaires) :
  • Sensation d'écrire du code qui "fait ce qu'il dit". Du code explicite et sans magie (noire) ⇒ ça fait du bien.
  • Créer en Rust est étonnamment fluide.
  • Parfois des erreurs de compilation qui paraissent obscures viennent casser le rythme. Une fois qu'on a compris, ça redevient très fluide. Il s'agit d'erreurs complexes qui sont souvent liées à des traits non implémentés. Par exemple avec les systèmes Bevy ou les handlers Axum, notamment avec le trait Send.
  • IDE et tooling très agréables (Rust Rover ou Zed). Pour le reste, Cargo et Rustfmt sont un soulagement. Peut-être que le debug et le profiling peuvent être améliorés.
  • Satisfaction de construire un programme qui fait exactement ce que l'on veut de la manière la plus directe et performante possible.
  • Il est très facile et très rapide ensuite de corriger des bugs et faire des évolutions de code sur mes projets Rust.
  • La sensation que quand ça compile ça roule. Des applis qui répondent au doigt et à l'œil 🙏

Côté négatif

  • Il est très important de parfaire son style de code en rust pour avoir du code lisible par tous les programmeurs (sans complexité qui fait peur). Je pense notamment au bon découpage des fonctions pour éviter l'imbrication en profondeur trop importante.
  • Je regrette cependant de ne pas pouvoir faire du retour prématuré dans les fonctions en éliminant les cas de types. Cela permet vraiment de rendre le code lisible. Cette pratique me vient du TypeScript. Je regrette qu'en Rust ce ne soit pas possible.
  • La lenteur de la compilation. Même si la compilation incrémentale permet de nous sauver la vie.
  • Un debugger qui permet d'avoir l'abstraction de la partie asynchrone (debugger et profiler).

2025 : Conclusions et objectifs

  • Envie de faire grandir et de faire connaître le groupe Les Crustaces Lozériennes !
  • Envie d'écrire plus de Rust
  • Envie de retourner dans une conférence Rust
Et vous, quelle est votre expérience avec Rust ?
Si vous souhaitez collaborer sur des projets Rust ou discuter de développement logiciel, n'hésitez pas à nous contacter.