fond desktopfond mobile

Rust, c'est quoi ?

Rust est un langage de programmation compilé, orienté performance, sécurité et bonne utilisation de la mémoire ! Il est fait principalement pour développer des applications avec des forts besoins de performance (embarqué), et de plus en plus utilisé pour le développement d'API.
decoration

Le développement Rust, un langage de confiance ?

Rust ajoute de la fraîcheur dans le monde des langages compilés (et ça fait du bien !) ! Les langages compilés historiques (le C / C++) sont des langages qui fonctionnent très bien, mais qui ont une approche plutôt complexe et quelque peu vieillissante par rapport à ce qu'il se fait de nos jours.

Rust quant à lui, apporte une touche de modernité, tout en ayant des performances irréprochables ! Plus récent que les autres langages compilés, l'écosystème du Rust se construit petit à petit dans les différents domaines d'activités avec notamment la création et l'évolution de différents frameworks (Rocket, Actix, Axum), ORMs (Diesel, sqlX) et une explosion de la communauté depuis ces dernières années.

Si vous vous demandez si Rust est un langage de confiance, sachez que le noyau Linux a récemment intégré un driver développé en Rust… on peut donc considérer que Rust n'est pas près de s'éteindre :)

Quand utiliser Rust pour vos projets de développement ?

On conseille d'utiliser Rust principalement pour le développement :

  • Des applications embarquées
  • Des projets Web / API avec des forts besoin de performances.
  • Des CLI

Très bon compromis entre la performance des langages compilés et leur complexité, Rust peut être un bon choix de technologie dès que vous avez un besoin fort en performance et/ou de gestion de consommation des ressources !

C'est pourquoi il s'est déjà fait une très belle place dans le monde de l'embarqué, et qu'il gagne peu à peu du terrain dans le monde des applications web/APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données.. Et ça s'explique par son principal avantage : Rust s'occupe de la gestion de la mémoire à votre place… ou presque !

Comment fonctionne Rust et pourquoi ça révolutionne votre façon de développer ?

Pour comprendre pourquoi Rust révolutionne la manière de développer, intéressons-nous à la gestion de la mémoire. La gestion de la mémoire est essentielle dans les projets de développement, puisque c'est ça qui conditionne en grande partie les performances des applications !

Dans le développement, on a 2 grands choix :

  • Gérer la mémoire à la main : c'est complexe et risqué car une erreur est vite arrivée (bugs, problèmes de sécurité, etc.)
  • Utiliser un garbage-collector (ramasse miette pour les fans du français). C'est simple mais, en comparaison, peu performant car le garbage collector va régulièrement analyser la mémoire et regarder ce qui n'est pas utilisé pour la libérer. Cette analyse de la mémoire est très coûteuse en termes de performances.

Rust a pour objectif de faire ni l'un ni l'autre ! Lors du développement, Rust impose tout simplement une rigueur au développeur qui va permettre au Rust de gérer la mémoire de manière optimisée, sans passer par un garbage collector.

Cette rigueur que Rust impose ajoute une nouvelle dimension au développement car il ajoute un concept d'ownership de "variable", qui consiste à préciser à qui appartient une variable (à quelle fonction globalement). C'est grâce à ce mécanisme que Rust est par la suite capable de gérer la mémoire tout seul, sans passer par un Garbage collector.

Rust : la perfection, mais à quel prix ?

Vous l'aurez compris, Rust est le langage qui peut révolutionner la manière de développer de votre équipe, mais comme toujours, tout n'est pas parfait. En effet, cette nouvelle façon de développer vous permet de vous affranchir de la gestion de la mémoire et de bénéficier de très bonnes performances mais ce nouveau paradigme a un grand défaut : il rend le développement d'applications en Rust (et donc sa maintenance) plus difficile.

Le développement Rust, c'est une autre façon de réfléchir le code, et on peut facilement rencontrer des restrictions liées à ce modèle. Certes, c'est toujours plus simple que de devoir gérer sa mémoire à la main, cependant, ça reste malgré tout compliqué pour un développeur lambda.

Avant de vous lancer dans un projet Rust, 2 conseils :

  • Assurez-vous que le gain de performances procuré par l'utilisation de Rust vous est bien utile (et que vous ne rajoutez donc pas une complexité inutile au projet).
  • Entourez-vous bien ! C'est essentiel d'avoir à vos côtés une équipe qui a une bonne connaissance du langage :)

Comment AXOPEN peut vous accompagner sur du développement Rust à Lyon ?

Depuis Lyon, nos équipes de développement Rust peuvent vous accompagner dans vos projets nécessitant un fort enjeu de performances et de gestion de consommation :

Vous avez un projet Rust ou vous vous posez des questions sur le choix de cette technologie ? Contactez-nous pour en discuter !

Nos Références clients