Rust : les d�veloppeurs r�v�lent pourquoi ils ne sont pas plus nombreux � utiliser le langage de programmation
En pointant du doigt un manque d'adoption en entreprise, d'apr�s un sondage

Le , par Patrick Ruiz

287PARTAGES

17  1 
Rust : les d�veloppeurs r�v�lent pourquoi ils ne sont pas plus nombreux � utiliser le langage de programmation
En pointant du doigt un manque d�adoption en entreprise, d�apr�s un sondage

Rust de Mozilla Research est le type de langage de programmation auquel ceux qui �crivent du code pour des syst�mes d�entr�e/sortie de base (BIOS), des chargeurs d�amorce, des syst�mes d�exploitation, etc. portent un int�r�t. D�avis d�observateurs avertis, c�est le futur de la programmation syst�me en lieu et place du langage C. Sur quatre ann�es cons�cutives, le langage a obtenu la reconnaissance de � plus aim� � des d�veloppeurs qui fr�quentent la plateforme Stack Overflow. Pourtant, de r�cents sondages r�v�lent qu�il est � la peine...

Sur quatre ann�es cons�cutives, le langage a obtenu la reconnaissance de � plus aim� � des d�veloppeurs habitu�s de la plateforme de questions-r�ponses sur des sujets li�s � l�informatique. Au terme de l��dition 2019 de son enqu�te qui a mobilis� pr�s de 90 000 travailleurs de la fili�re programmation informatique, le langage a concentr� 83,5 % de retours positifs. Ce sont donc pr�s de 75 000 d�veloppeurs de ce sondage Stack Overflow qui ont fait savoir qu�ils utilisent le langage Rust et qu�ils vont continuer � en faire usage ; autrement dit, des d�veloppeurs qui, apr�s quelques exp�riences avec le langage, en sont tomb�s amoureux. Toutefois, le sondage Stack Overflow est pauvre en d�tail sur l�usage qu�il est fait du langage, notamment, son utilisation dans le cadre de projets personnels ou d�entreprise. C�est un r�cent sondage initi� par les mainteneurs Rust qui apporte la lumi�re sur ces diff�rents axes�

Le d�nominateur commun de l�enqu�te initi�e par les mainteneurs Rust avec celle de Stack Overflow est que la majorit� des pr�s de 4000 r�pondants a eu un contact avec le langage. En substance, ce dernier se poursuit pour 82,8 % des r�pondants tandis que 7,1 % des r�pondants disent ne plus faire usage du langage apr�s des exp�riences pass�es. Grosso modo, ce sont des chiffres en lien avec l�adoption du langage, mais qui restent vagues sans pr�cisions suppl�mentaires.

En effet, 43 % des r�pondants (la majorit�) au sondage organis� par les mainteneurs Rust font savoir que le nombre de lignes de code des projets sur lesquels ils se sont lanc�s avec le langage va d�un millier � une dizaine de milliers. C�est un indicateur de ce que les d�veloppeurs usent beaucoup plus du langage dans le cadre de ce qui serait des projets personnels. C�est une tendance qui va dans le m�me sens que les chiffres mis en avant par l��dition 2019 de l�enqu�te Jetbrains sur Rust : � 97 % des tiers interrog�s ont d�clar� utiliser Rust depuis moins d'un an. Avec seulement 14 % de personnes l'utilisant pour le travail, il est beaucoup plus populaire comme langage pour les projets personnels ou secondaires. Plus de 90 % des r�pondants qui ont opt� pour Rust comme l�un de leurs principaux langages travaillent avec ce dernier sur des bases de code de moins de 300 fichiers. �

Toutefois, si la principale raison avanc�e par ceux qui ont arr�t� de faire usage du langage Rust (ou qui n�en ont jamais fait usage) est que leur entreprise ne s�en sert pas, il faut noter que les retours des d�veloppeurs impliqu�s dans des projets qui comptent entre une dizaine de milliers et une centaine de milliers de lignes de codes est en augmentation : 8,9 % en 2016, 16 % en 2017, 23 % en 2018 et 34 % en 2019.


En fait, l�un des principaux facteurs susceptibles de drainer plus de d�veloppeurs dans l�utilisation de Rust est l�adoption en entreprise qui semble encore faire d�faut au langage. En toile de fond, on a un lot de raisons techniques susceptibles de justifier le positionnement des entreprises qui ne s�appuient pas sur Rust pour leurs projets : manque de biblioth�ques, absence de prise en charge de plus d� environnements de d�veloppement int�gr�, manque de documentation, etc. En effet, le manque de biblioth�ques est l�une des raisons que certains d�veloppeurs soulignent comme un frein � la productivit�.


Rien de concret pour le moment, mais il se dit qu�il est possible qu�un framework d�di� � la mise au point de drivers en langage Rust soit accept� au sein de Linux. C�est connu, le noyau Linux est le produit de d�veloppements en langages C et assembleur. Dans la fili�re de la mise au point de drivers pour le syst�me d�exploitation open source, c�est encore ce tandem qui r�gne en ma�tre. Les d�veloppeurs engag�s sur cet axe le pl�biscitent pour les �normes possibilit�s qu�il offre en mati�re de manipulation des ressources mat�rielles d�un syst�me informatique. Dans le jargon du milieu, on parle de � proximit� avec le hardware. � Seulement, de plus en plus de voix s��l�vent pour appeler � un passage au langage Rust. C�est une initiative susceptible d�apporter encore plus d�aura au langage.

Source : Sondage Stack Overflow, Enqu�te Rust, Jetbrains

Et vous ?

�tes-vous en accord avec les chiffres de ce sondage qui mettent en avant un manque d�adoption de Rust en entreprise ?
Quels sont les ingr�dients susceptibles de conduire � une adoption plus importante de Rust, mais qui lui font encore d�faut de votre point de vue ?
Comment comparez-vous la courbe d�apprentissage du langage Rust � celle d�un autre comme le C ?
Votre entreprise a-t-elle adopt� le langage Rust ? Si oui, sur des projets de quelle taille ?

Voir aussi :

Rust s'approche de sa premi�re version stable, Mozilla publie une nouvelle pr�version de son langage d�riv� de C/C++
Linux : un framework pour la mise au point de drivers en langage Rust pourrait faire son entr�e dans le noyau de l'OS
L'�quipe de npm choisit Rust pour g�rer les goulots d'�tranglement li�s au CPU au d�triment de Go, C, C++ et Java, voici les raisons de ce choix
Vous avez lu gratuitement 0 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !

Avatar de grunk
Mod�rateur https://www.developpez.com
Le 23/04/2020 � 13:42
Donc en substance, c'est parce que Rust est pas beaucoup utilis� qu'on ne l'utilise pas beaucoup ?

Je suis professionnel , je dois �crire un bootloader , un driver ou que sais je encore qui va vivre pendant plusieurs ann�es.
J'ai le choix entre
a) C le standard depuis plus de 40 ans que je ma�trise et que toute mon �quipe ma�trise
b) Rust , un langage r�cent , aux fonctionnalit� int�ressantes, que je ne ma�trise pas forc�ment , que mon �quipe ne connais que de nom.

Le choix est rapidement fait

Tant qu'il n'yaura pas une migration massive des grands projet open sources et/ou une d�pr�ciation quelconque du C , Rust est pas pr�t de prendre le dessus.
11  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 24/04/2020 � 0:14
Citation Envoy� par grunk Voir le message
Tant qu'il n'yaura pas une migration massive des grands projet open sources et/ou une d�pr�ciation quelconque du C , Rust est pas pr�t de prendre le dessus.
Le Rust conna�t quand m�me une croissance remarquable pour un langage qui n'est pas pouss� par une plateforme particuli�re comme ont pu l'�tre JavaScript(navigateurs web), Swift (iOS), C# (.net), ...
Personne ne s'attend s�rieusement � ce qu'il remplace l'int�gralit� du code C et C++ d�s demain, mais il suit tranquillement sa croissance.

Citation Envoy� par Astraya Voir le message
De plus, contrairement � C-C++-C# Rust n'a pas de certification ISO, une certification ISO serait un bon gros plus pour �tre pris au s�rieux concernant la p�rennit� du language dans le temps.
Il faut quand m�me faire attention � ce que l'on attend d'une certification. La certification est souvent pr�sent� comme le gage de la fiabilit� d'un langage, alors que �a n'est pas vraiment le cas.

La certification ISO ne garantit absolument pas de la pr�cision du comportement d'un langage face � tous les types de codes, bien au contraire : la sp�cification du C valid�e par l'ISO laisse pr�s de 200 cas explicitement ind�finis par la norme. On peut tr�s facilement d�clencher ces cas de mani�re non intentionnelle, ce qui fait que le compilateur est libre de faire n'importe quoi s'il les rencontre, du plantage, � l'erreur insidieuse, en passant par la faille de s�curit� catastrophique.
Rust a l'inverse vise a bannir tous les comportements ind�finis, en dehors des blocs "unsafe".

La vraie utilit� d'une sp�cification certifi�e, c'est d'�viter des comportements incompatibles entre les divers compilateurs. C'est particuli�rement utile pour le C et le JavaScript �tant donn� qu'il y a de nombreuse impl�mentations diff�rentes de ces langages par des entit�s vari�es (navigateurs, fabricants d'OS ou de processeurs, projets ind�pendants libre ou propri�taires, ...). Ce n'est pas vraiment un probl�me pour Rust actuellement vu qu'il n'y a pas de compilateurs concurrents. Le seul compilateur alternatif existant ne pr�tend pas sortir du domaine exp�rimental et utilise le compilateur officiel pour r�f�rence.

Citation Envoy� par imperio Voir le message
Les 3 s'en servent � vrai dire...
En effet, Microsoft et Apple utilisent Rust sur certains de leur projets, en g�n�ral des nouveaux projets.

Pour Linux, il me semble pas que �a soit vraiment le cas. Certains contributeurs ont juste d�velopp� une interface pour des modules en Rust, mais je ne crois pas que du code Rust soit int�grable au noyau. Linux c'est des millions de ligne de code C, c'est difficile d'ajouter un nouveau langage comme �a. �a impliquerait de devoir g�rer une nouvelle toolchain ce qui serait terriblement complexe dans le cas d'un mastodonte qui a �t� totalement architectur� autour du C.
9  0 
Avatar de Astraya
Membre �m�rite https://www.developpez.com
Le 23/04/2020 � 14:09
Rust � besoin de librairies et �galement d'un support de Windows et OsX pour son API avec un support officielle. Si je d�veloppe sous Windows c'est c++ et c# car ISO, avec support officiel de Microsoft.. Une soci�t� ne vas pas utiliser Rust parce que il n'y a pas ce qu'il faut a l'heure actuelle. De plus, contrairement � C-C++-C# Rust n'a pas de certification ISO, une certification ISO serait un bon gros plus pour �tre pris au s�rieux concernant la p�rennit� du language dans le temps.
3  0 
Avatar de imperio
Membre chevronn� https://www.developpez.com
Le 23/04/2020 � 23:38
Citation Envoy� par eric44000 Voir le message
"Rust en lieu et place de C..."
Pourquoi ce langage miraculeux permettant du faire des BIOS n'est pas utilis� par les fabricants de cartes m�res ?
Pour la simple et bonne raison qu'il faut supporter cette target ultra sp�cifique, ce qui demande �norm�ment de temps.

Citation Envoy� par eric44000 Voir le message

Et pourquoi ce langage miraculeux permettant d'�crire des syst�mes d'exploitation n'est pas utilis� par Linux, Microsoft et Apple ?
Les 3 s'en servent � vrai dire...

Citation Envoy� par eric44000 Voir le message
Et Nvidia, AMD et consorts ils en pensent quoi ?
Aucune id�e.
4  1 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 26/04/2020 � 7:58
Citation Envoy� par sytoka Voir le message
� ma connaissance, Rust ne compile toujours pas avec GCC, donc je doute d'un framework dans le noyau Linux tant que cela ne sera pas fait.

Pour moi, une priorit� serait d'avoir le backend GCC pour changer d'�chelle.
A noter qu'il y a des gens qui essayent d'int�grer un frontend Rust � GCC, mais �a reste un projet secondaire.

L'int�gration directe de code Rust dans le noyau Linux n'est pas pr�vue, il faudrait, en effet au minimum que GCC g�re Rust, mais m�me sans �a, �a poserait beaucoup de questions sur la mani�re d'int�grer �a.
Ce n'est pas du tout dans les objectifs des gens du noyau Linux. Il y aura au mieux une officialisation de l'interface qui permet de faire des modules en Rust.

Citation Envoy� par eric44000 Voir le message
@ imperio
Le code source de Linux est �crit en C � la base et non traduit de Rust.
Quant � MS et Apple, c'est un sacr� scoop. W10 �crit en Rust, elle est bien bonne celle-l� !
Je vais t'apprendre un autre scoop : Microsoft, �a n'est pas que Windows 10 mais aussi des centaines voire des milliers de logiciels. Microsoft utilise bien Rust (ainsi de des dizaines d'autre langages) pour certains de leur d�veloppements et envisagent s�rieusement de l'utiliser d'avantage � l'avenir pour ce qui a trait � la programmation syst�me.

Utiliser Rust ne veut bien �videment pas dire remplacer l'int�gralit� du code C existant par du Rust. Bien �videmment que personne ne va r��crire l'int�gralit� du code de Linux ou de Windows qui repr�sentent des millions de jours de travail. �a repr�sente beaucoup trop de travail et int�grer plusieurs langages peut �tre compliqu�.
3  0 
Avatar de marc.collin
Membre �m�rite https://www.developpez.com
Le 23/04/2020 � 13:47
le gros du march� si on regarde les offres d'emploi c'est la programmation de gestion.... pas certain que �a soit le domaine cl� pour rust
3  1 
Avatar de Iradrille
Expert confirm� https://www.developpez.com
Le 23/04/2020 � 21:14
Citation Envoy� par grunk Voir le message
Donc en substance, c'est parce que Rust est pas beaucoup utilis� qu'on ne l'utilise pas beaucoup ?
C'est toujours le m�me probl�me oui :/
Peu utilis� -> dur d'obtenir de l'aide si on bloque sur un truc / peu de libs (m�me si l'interop avec le C aide bien ici) / IDE moins d�velopp�s / etc...
Et c'est un langage jeune, les entreprises sont assez frileuses l� dessus.

Le manque d'interop avec le C++ freine aussi probablement son adoption; m�me si �a fait pas tout : le D semblait vraiment prometteur, avant de tomber dans l'oubli.
2  0 
Avatar de sytoka
Futur Membre du Club https://www.developpez.com
Le 25/04/2020 � 16:54
� ma connaissance, Rust ne compile toujours pas avec GCC, donc je doute d'un framework dans le noyau Linux tant que cela ne sera pas fait.

Pour moi, une priorit� serait d'avoir le backend GCC pour changer d'�chelle.
2  0 
Avatar de abriotde
Membre chevronn� https://www.developpez.com
Le 23/04/2020 � 15:24
Citation Envoy� par marc.collin Voir le message
le gros du march� si on regarde les offres d'emploi c'est la programmation de gestion.... pas certain que �a soit le domaine cl� pour rust
Oui mais dans ce cas, ce n'est pas C/C++ qui est choisi, mais Java, Go ou encore Python, NodeJ. C'est un autre sujet. C'est comme si tu disais oui mais le P�trole � un CA d'affaire sup�rieur et le Luxe rapporte plus.

On cherche a parler des concurent de Rust, c'est a dire des langages informatique efficace au niveau machine. Java ou Go sont efficace mais beaucoup moins que Rust/C/C++ c'est pourquoi ils peuvent �tre plus productifs.
2  1 
Avatar de imperio
Membre chevronn� https://www.developpez.com
Le 24/04/2020 � 11:18
Citation Envoy� par Uther Voir le message
En effet, Microsoft et Apple utilisent Rust sur certains de leur projets, en g�n�ral des nouveaux projets.

Pour Linux, il me semble pas que �a soit vraiment le cas. Certains contributeurs ont juste d�velopp� une interface pour des modules en Rust, mais je ne crois pas que du code Rust soit int�grable au noyau. Linux c'est des millions de ligne de code C, c'est difficile d'ajouter un nouveau langage comme �a. �a impliquerait de devoir g�rer une nouvelle toolchain ce qui serait terriblement complexe dans le cas d'un mastodonte qui a �t� totalement architectur� autour du C.
Dans le cas de linux, c'est clairement plus un usage "� c�t�". Ils ont r�cemment �crit une interface pour faciliter la chose comme tu l'as indiqu�, mais il y a aussi quelques modules kernel qui ont �t� �crits en rust. Par-contre je ne me souviens plus s'ils sont distribu�s avec le code source du kernel ou si ce sont des modules d�velopp�s par des entit�s ext�rieures...
1  0