Rust

Partager :

Les questions de cette section ont été présentées aux développeurs ayant cité Rust comme l'un des langages qu'ils utilisent.

Dans quel cadre utilisez-vous Rust ?

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

Ces resultats me font plaisir. Rust est en pleine croissance, et le fait que ces chiffres relatifs restent stables signifie non seulement plus d'emplois, mais aussi plus de nouveaux talents pouvant être recrutés à ces postes. Mon conseil pour ceux qui ont des postes à pourvoir : ne vous arrêtez pas au critère strict de « X années d'expérience avec Rust », vous aurez ainsi accès à un vivier d'utilisateur de Rust débutants talentueux, qui par ailleurs sont souvent déjà des professionnels du codage. Il y a ici un bon potentiel de croissance.

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

L'utilisation de Rust dans un cadre professionnel progresse régulièrement, avec un nombre croissant de déploiements en production. Dans le même temps, la recherche d'emplois de développeurs Rust reste nettement supérieure au nombre de postes vacants. C'est une , quvqise nouvelle pour les développeurs qui cherchent à décrocher leur premier poste, mais une bonne nouvelle pour les entreprises utilisant Rust car beaucoup de développeurs sont disponibles.

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Les réponses à cette question témoignent de l'équilibre et de la diversité de la communauté Rust.

Il est encourageant de voir qu'un nombre croissant de postes de développeurs Rust sont disponibles. En comparant avec 2022, on constate une augmentation de 11 points de pourcentage en seulement un an.

Il est décevant de voir que seulement une personne sur cinq utilise Rust pour son travail, mais cela s'explique par le fait que beaucop d'utilisateurs de Rust sont encore en train d'apprendre le langage Avec autant de débutants, on ne peut pas s'attendre à être au-dessus des 50 %.

Je trouve vraiment bien que les gens utilisent Rust pour leurs projets personnels annexes, cela montre qu'ils considèrent Rust comme un langage qui leur permet d'être créatifs.

Depuis combien de temps utilisez-vous Rust ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Un nombre de débutants aussi important est caractéristique d'une communauté qui connaît une croissance exponentielle.

Plus de 75 % des utilisateurs de Rust ont moins d'un an d'expérience avec le langage.

J'aimerais voir davantage de contributions aux projets majeurs de l'écosystème. De nombreuses crates sont actuellement gérées par une seule personne.

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Les utilisateurs de Rust sont fidèles : il a été élu langage de programmation le plus apprécié sur StackOverflow pendant sept années consécutives, ce qui montre que développeurs qui apprennent Rust ont envie de continuer à l'utiliser.

En parallèle, on voit que l'afflux de nouveaux développeurs dans l'écosystème Rust reste important : plus de la moitié des répondants déclarent débuter avec Rust (<6 mois).

Cette combinaison de fidélité élevée et d'afflux de nouvelles recrues est une excellente nouvelle pour l'écosystème !

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

C'est une bonne nouvelle, surtout pour les débutants. Si vous débutez avec Rust maintenant, vous avez l'opportunité de devenir rapidement un expert dans le domaine, contrairement à d'autres langages pour lesquels chaque équipe a un collègue qui a 10 ans d'expérience ou plus. Le meilleur moment pour commencer à apprendre Rust, c'est maintenant !

Quels langages de programmation utilisez-vous en plus de Rust dans vos projets ?

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Plus de la moitié des répondants disent travailler sur des projets polyglottes, en utilisent Rust avec d'autres technologies. En fonction du langage de programmation, nous pouvons émettre des hypothèses sur les schémas prédominants : front-end JavaScript/TypeScript soutenu par une API Rust, extensions natives (Rust+Python), projets en langages mixtes (C/C++) et interactions réseau entre microservices (Go, Python, C#, Java, etc.).

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

C'est génial de voir que Rust fonctionne aussi bien avec d'autres technologies. Ici on voit l'impact de l'utilisation de Rust pour les backends web (JS/TS, SQL) et les CLI (langages de scripts shell).

L'utilisation de Rust pour étendre (ou du moins utilisé en conjonction avec) les langages JVM, et dans une moindre mesure les langages créés avec les langages CLR (C#), est un signe très intéressant. Je m'attends à ce que son adoption croissante par les entrerprises fasse monter la pression pour garantir le bon fonctionnement de Rust dans les systèmes de build qui compilent/génèrent plusieurs langages.

Quel langage de programmation utilisiez-vous avant d'adopter Rust ?

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

La conclusion des statistiques ci-dessus reste la même au fil des années : Rust était et reste un langage qui ne s'adresse pas seulement au domaine de la programmation système, sa portée est bien plus large !

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Alors ça ! La proportion de « n'a remplacé aucun langage de programmation » est beaucoup plus importante que ce à quoi je m'attendais, au moins 10 fois plus.

Cela montre clairement que Rust devient plus accessible. Mais cela confirme aussi ma conviction personnelle que nous, en tant que communauté, devons mieux enseigner Rust.

Comment le code Rust interagit-il avec les autres parties ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Je m'attendais à voir WebAssembly/WASI ici, mais 22 %, c'est bien plus que ce que j'imaginais !

Il serait intéressant d'explorer d'en savoir plus sur les modeles d'interopérabilité que permet WebAssembly. S'agit-il d'étendre les bases de code Rust avec des plugins personnalisés par l'utilisateur et écrits dans un langage arbitraire ? Envisage-t-on d'utiliser Rust pour créer des composants exécutés par d'autres applications ? Ou assistons-nous au succès de l'expérience Spin/Fermyon, créant des applications à partir de modules WebAssembly écrits dans différents langages de programmation ?

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Rust pour les backends web !

Il est intéressant de noter que le pourcentage de projets utilisant FFI a diminué.

J'attends avec impatience de voir WebAssembly se renforcer davantage. Les modules Wasm constituent une barrière solide contre les attaques de la chaîne d'approvisionnement, un aspect sur lequel l'écosystème open source Rust est assez vulnérable actuellement.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

La diversité des options d'intégration utilisées en pratique est étonnante. De plus, étant donné que la plupart des projets comportent un composant d'intégration, j'aimerais voir davantage d'attention consacrée à l'intégration de Rust dans d'autres systèmes.

Quels plugins ou utilitaires utilisez-vous en complément de votre IDE pour Rust ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Ce qui est vraiment surprenant ici, c'est le peu d'options commerciales disponibles. Bravo à JetBrains pour sa prise en charge proactive de Rust depuis plusieurs années.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

Content de voir que les deux principaux moyens d'édition prospèrent. rust-analyzer semble avoir pris le relais de RLS/Racer, tandis qu'IntelliJ Rust reste le choix par défaut pour ceux qui souhaitent une expérience intégrée.

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Il y a un an, rust-analyzer intégrait l'organisation Rust et remplaçait RLS en tant que serveur de langage « officiel », à l'issue d'un processus entamé plus de deux ans auparavant. Les résultats de l'enquête confirment que la base d'utilisateurs de RLS est finalement en train de migrer vers rust-analyzer, mais rappellent aussi que la migration d'un écosystème entier est un processus lent et complexe, quelles que soient la qualité de l'alternative et l'ampleur de la pression et de la coordination au sein de la communauté.

Quels IDE / éditeurs utilisez-vous pour développer en Rust ?

Quelles sont les fonctionnalités Rust qui vous manquent le plus dans les IDE ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

En parcourant cette liste de fonctionnalites, j'ai envie que mon IDE en fasse bien plus ! J'attendsimpatiemment la visualisation de la durée de vie, mais je ne sais pas si cela aidera dans les cas difficiles. Cela pourrait donner lieu à un énième mini-langage à apprendre.

Le score des macros procédurales est impressionnant. J'etais loin de penser qu'autant de personnes écrivaient leurs propres macros procédurales !

JetBrains pourrait offrir une expérience similaire à GitHub Codespaces. Pour l'instant, je suis rebuté par le prix du cloud.

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Commençons par le positif : un tiers des répondants se dit satisfait de la prise en charge de Rust qu'offrent les IDE actuellement. C'est énorme !

Mais tout n'est pas rose. Nous devons aller plus loin pour aider les utilisateurs sur les aspects propres à Rust, comme la durée de vie. Les macros procédurales restent un défi : elles sont omniprésentes dans les bases de code complexes; en raison de leur utilité, mais elles dégradent considérablement l'expérience de l'IDE quand elles sont utilisées de manière intensive.

Lorsque ces constructions de langage seront prises en charge, il sera intéressant de voir comment les IDE évolueront vers des cas d'utilisation plus spécifiques, tels que la prise en charge native de certains frameworks Web.

Quels systèmes de build utilisez-vous pour compiler Rust ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

6 % des répondants utilisent Make pour leurs builds !? Hé bien, certaines personnes sont vraiment attachées à leurs vieux outils. Une chose que j'ai remarquée chez les développeurs, c'est leur tendance à préférer se sentir en situation de contrôle.

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Pas de surprise ici : Cargo règne en maître sur les projets Rust.

Comment déboguez-vous votre code Rust généralement ?

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Le tableau n'a pas beaucoup changé par rapport à l'année dernière : le débogage avec println! présente la barrière à l'entrée la plus basse et reste la methode la plus utilisée. Il y a certes un manque d'outils, mais je pense que cela s'explque aussi par le manque de formation. Il y a très peu de ressources expliquant comment tirer parti des des outils de débogage.

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Il n'y a pas de honte à utiliser println! (pour que ça sonne mieux, on pourrait parler de débogage par traçage). Mais c'est bien que les développeurs de l'IDE aient autant d'efforts à faciliter l'utilisation du véritable débogage. Apprendre à utiliser un débogueur pour suivre l'exécution d'un programme peut vraiment améliorer la productivité.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

Je trouve cette situation frustrante. Je pense qu'une meilleure expérience de débogage est possible et les IDE semblent être un bon moyen d'y parvenir. Ceci dit, je trouve que la pratique stagne. On le voit dans le fait que « simplement imprimer sur la console » reste l'option privilégiée.

Quels outils de profilage utilisez-vous pour Rust ?

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

L'augmentation du nombre de développeurs qui utilisent un profileur pour leurs projets Rust est impressionnante !

Cela vient en grande partie de la hausse de l'utilisation des profileurs intégrés aux IDE : lorsque des outils puissants deviennent disponibles, les développeurs en tirent parti.

Mais il y a encore une marge de progession importante. Profiler des applications dans des environnements de production devrait être tout aussi facile, mais cela n'est pas encore le cas.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

La popularité relative des profileurs intégrés aux IDE confirme mon hypothèse selon laquelle souvent le profilage n'est pas effectué en raison de son inaccessibilité.

Quels types de projets développez-vous en Rust ?

Luca Palmieri

Consultant en ingénierie principal chez Mainmatter

Voilà pourquoi j'adore les enquêtes : les données brutes ont le pouvoir de remettre en question des discours dominants.

Dans l'esprit de la plupart des gens, Rust rime avec « programmation système », mais la réalité est beaucoup plus nuancée : 38 % des répondants l'utilisent pour le développement web, ce qui va à l'encontre des discours selon lesquels Rust est « too much » ou « trop complexe » pour ce cas d'utilisation. Je pense vraiment qu'il s'agit du prochain grand domaine d'utilisation de Rust et il sera intéressant de voir si cette intuition sera confirmée par les données.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

Je suis content de voir que malgré toute la croissance de Rust, son utilisation dans l'embarqué/IoT reste identique. Pour moi, la bonne surprise de cette année c'est l'augmentation de l'utilisation de Rust pour les applications de bureau – il y a toujours un résultat qui vient contredire votre intuition. Ces résultats révélent un écosystème relativement robuste et stable, qui va dans la bonne direction.

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

Cela fait plaisir de voir une telle diversité de types de projets. Ce que j'aime dans ce langage, c'est que les garanties de sécurité qu'il offre donnent aux gens la confiance nécessaire pour expérimenter dans de nouveaux domaines.

Quelle plateforme ciblez-vous avec vos projets Rust ?

Tim McNamara

Fondateur d'Accelerant.dev, auteur de Rust in Action

C'est vraiment intéressant de voir une telle diversité. Je m'attendais à ce que Linux côté serveur soit plus prévalent, bien au-dessus de 90 %. Je suppose que cela indique qu'un grand nombre de personnes utilisent Rust pour créer des CLI et qu'une majorité de développeurs l'utilisent dans le cadre de leurs loisirs et de leurs projets personnels.

La proportion de développeurs de systèmes embarqués semble très élevée. Je considère l'embarqué comme une niche assez restreinte, mais il est clair qu'il existe un groupe important de personnes qui utilisent Rust pour des projets ne dépendant pas d'un système d'exploitation.

Florian Gilcher

Directeur Fénéral chez Ferrous Systems

Pas de surprise ici non plus. L'adoption de Rust dans des entreprises plus conservatrices augmente la pertinence de Windows en tant que cible.

Merci du temps que vous nous avez accordé !

Nous espérons que vous avez trouvé ce rapport intéressant. N'hésitez pas à le partager avec vos amis et collègues.

Rejoignez le JetBrains Tech Insights Lab

Participez à des enquêtes et à des études sur l'expérience utilisateur pour aider les produits JetBrains à gagner en facilité d'utilisation, mais aussi en puissance. En participant à nos études, vous aurez également la possibilité de gagner des récompenses.

Données brutes Bientôt disponibles

Nous sommes en train de préparer les données brutes. Vous pouvez laisser votre adresse e-mail pour recevoir une notification lorsqu'elles seront disponibles au téléchargement.

By submitting this form I agree to the JetBrains Privacy Policy

Si vous avez des questions ou des suggestions, contactez-nous à surveys@jetbrains.com.