IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft annonce Rust/WinRT, une projection du langage Rust pour les API Windows Runtime
Impl�ment�e comme une biblioth�que bas�e sur des fichiers d'en-t�te

Le , par Bill Fassinou

293PARTAGES

15  0 
Microsoft annonce Rust/WinRT, une projection du langage Rust pour les API Windows Runtime
impl�ment�e comme une biblioth�que bas�e sur des fichiers d'en-t�te

Microsoft a annonc� l�arriv�e d�un nouveau membre dans la famille des outils de projection de langage dont fait partie C++/WinRT. C�est Rust/WinRT qui vient de faire son entr�e. C�est une projection du langage Rust enti�rement standard pour les API Windows Runtime, impl�ment�e comme une biblioth�que bas�e sur des fichiers d'en-t�te, et con�ue pour vous fournir un acc�s de premi�re classe � l'API Windows moderne. Il a d�sormais une pr�visualisation publique sur GitHub. Rust continue de s�duire Microsoft.

Windows Runtime (WinRT) est le Runtime de Windows. Il constitue la base des applications de la Plateforme universelle de Windows (UWP). Il se base sur les API COM (Component Object Model) sous le capot et il est con�u pour �tre accessible par des projections de langage. WinRT peut �galement �tre utilis� pour des choses comme les pilotes, ce qui se pr�te � un code natif tr�s performant. Microsoft soutient principalement ce cas d'utilisation avec C++/WinRT. Mais depuis ce jeudi, Rust a rejoint C++ avec Rust/WinRT. Une bonne nouvelle pour les d�veloppeurs Rust.

En effet, ces projections de langage prennent les m�tadonn�es d�crivant les diff�rentes API et fournissent des liaisons naturelles pour le langage de programmation cible. Comme vous pouvez l'imaginer, cela permet aux d�veloppeurs de cr�er plus facilement des applications et des composants pour Windows en utilisant le langage de leur choix. Vous pouvez alors utiliser ces API Windows pour cr�er des applications de bureau, des applications de stockage ou quelque chose de plus unique comme un composant, un service NT ou un pilote de p�riph�rique.


Rust/WinRT suit la tradition �tablie par C++/WinRT de construire des projections de langage pour le Runtime Windows en utilisant des langages et des compilateurs standards, fournissant une mani�re naturelle et idiomatique pour les d�veloppeurs Rust d'appeler les API Windows. Il permet d'appeler toute API WinRT pass�e, pr�sente et future en utilisant du code g�n�r� � la vol�e directement � partir des m�tadonn�es d�crivant l'API et directement dans votre paquet Rust o� vous pouvez les appeler comme s'il s'agissait d'un module Rust parmi d'autres.

� Microsoft a longtemps d�pendu du C++ comme �pine dorsale pour une grande partie de ses activit�s, mais elle doit relever certains d�fis, notamment en mati�re de s�curit�. Le C++ moderne facilite certainement l'�criture d'un C++ s�r et s�curis� si vous suivez certaines conventions prudentes, mais cela est souvent difficile � appliquer sur des projets plus importants. Rust est un langage intrigant. Il ressemble beaucoup au C++ � bien des �gards, et il a toutes les qualit�s requises pour la compilation, le mod�le d'ex�cution, le syst�me de types et la finalisation d�terministe �, a �crit Microsoft dans un billet de blogue.

� Bien qu'il ait sa propre courbe d'apprentissage unique, il a aussi le potentiel de r�soudre certains des probl�mes les plus contrariants qui affligent les projets C++. Il est con�u � partir de z�ro avec la s�curit� de la m�moire et la concurrence s�re comme principes de base �, a-t-il ajout�. L'adoption de Rust par Microsoft n�est pas surprenante, car derni�rement, la firme n�a pas cess� de louer les performances du langage d�velopp� par Mozilla. L��t� dernier, elle a d�j� recommand� l�utilisation de Rust comme approche proactive pour un code plus s�curis�.

Selon Microsoft, le C++ a des vertus qui le rendent attrayant et parfois essentiel. Il est tr�s rapide, mature ; avec une ex�cution pr�visible, une faible empreinte m�moire et disque, une plateforme presque in�gal�e, etc., et vous pouvez l�utiliser sans �tre oblig� d�installer des composants suppl�mentaires. Ainsi, il estime que si les d�veloppeurs pouvaient avoir toutes les garanties de s�curit� de la m�moire de langages comme .NET C# combin�s � toute l�efficacit� du C++, cela leur permettrait de ne pas introduire certains d�fauts dans leurs logiciels.

� L�un des langages de programmation les plus r�cents et les plus prometteurs qui r�pondent � ces exigences est le langage de programmation Rust initialement d�velopp� par Mozilla �, a expliqu� l��quipe Microsoft Security Response Center (MSRC). Toutefois, Microsoft n�est pas la seule entreprise qui pl�biscite Rust pour une programmation plus s�curis�e. D�autres grands noms de la technologie et de petites entreprises ont commenc� � compter sur Rust comme un �l�ment cl� dans leur travail. Parmi elles, il y a npm Inc, la soci�t� derri�re npm, le gestionnaire de paquets de Node.js.

En f�vrier 2019, l�entreprise a publi� un rapport d��tude avan�ant que le langage de programmation Rust poss�de une meilleure fa�on de g�rer les d�pendances que d�autres langages tels que Go, C et C++. L��quipe a donc choisi Rust pour faire une nouvelle impl�mentation d�un service du registre npm pour �viter � la longue les probl�mes de performance. Enfin, Microsoft a d�clar� que Rust/WinRT est une avant-premi�re publique tr�s pr�coce, mais que l��quipe a d�sormais d�cid� de travailler au grand jour.

Sources : Microsoft, Rust/WinRT

Et vous ?

Qu'en pensez-vous ?

Voir aussi

L'�quipe Microsoft Security Response Center recommande l'utilisation de Rust comme approche proactive pour un code plus s�curis�

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

Quel langage pourrait remplacer C ? Apr�s avoir compar� Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D

C2Rust : un outil qui permet de faire la traduction et la refactorisation de votre code �crit en langage C vers le langage Rust
Vous avez lu gratuitement 1 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 Aurelien.Regat-Barrel
Expert �minent s�nior https://www.developpez.com
Le 04/05/2020 � 22:49
Hello

Je profite de ce topic pour partager mon point de vue et recueillir le v�tre. Pour info je suis sp�cialis� C++ et n'ai qu'une connaissance l�g�re de Rust. Mais je m'int�resse pas mal � comment ce langage �volue et comment il est adopt� dans l'industrie car de mani�re g�n�rale je suis passionn� par comment les langages interagissent entre eux.

En lisant certains messages, je crois qu'il est important de pr�ciser que ce qui fait le succ�s d'un langage ce n'est pas (simplement) ses qualit� intrins�ques. C'est peut �tre m�me un aspect secondaire. Son �cosyst�me et le support (financier) qu'il re�oit sont des facteurs essentiels : biblioth�ques disponibles, IDE / debug / profiling, int�gration avec d'autres syst�mes, portabilit�, etc... Donc surtout ne pas r�duire un langage � sa syntaxe quand on veut comparer les utilisations (penser � comment javascript s'est impos� comme langage n�1!). Et donc le fait qu'il re�oive du soutient de la part de Microsoft est une tr�s bonne chose pour le langage.

Un autre point � rappeler est que Rust n'est pas le premier langage � s'attaquer � C/C++ en apportant des innovations qui sont, objectivement, int�ressantes. J'ai personnellement lu moultes d�monstrations expliquant pourquoi ADA, Objective C, Eiffel, D, Nim... sont de meilleurs langages que C++. Mais il y a un petit d�tail : C++ est un langage avec un spectre d'utilisation extr�mement large dans plusieurs secteurs aux contraintes tr�s diff�rentes. Le remplacer sur certains segments est une t�che accessible, remplacer le langage de mani�re large est une tout autre histoire. Et il me semble que Rust occupe aujourd'hui la position de challenger que d'autres ont occup� avant lui (le langage D en particulier, qu'il a � mon avis tu�) et peine � en sortir. Non pas qu'il n'en sortira jamais, mais il peine.

Et � mon avis c'est li� au segment sur lequel on le positionne presque syst�matiquement : la s�curit�. Et c'est pas vraiment le plus porteur. Pour rappel les discussions sur la s�curit� ne sont pas nouvelles : PASCAL se vantait d'�tre beaucoup plus secure que le C, et puis au final nos composants syst�me les plus critiques (OS, drivers...) sont �crits en C... tandis que PASCAL n'est plus... De plus - et c'est pas un d�tail - il existe des solutions logicielles pour fiabiliser des programmes en C et C++. Le hic est qu'elles sont souvent payantes, � vil prix. Mais pour les structures qui ont ces besoin c'est acceptable. Et pour les domaines o� �a ne suffit pas, genre l'a�rospatiale, les personnes concern�es avec qui j'ai pu en discuter ne juraient en g�n�ral que par ADA, ou alors des solutions style Frama-C.

Donc pour moi Rust a un peu le cul entre deux chaises : pour les environnements critiques genre a�rospatiale, il est face � plus qualifi� que lui. Et pour les autres cas d'usage, et bien il a quand m�me un gros c�t� overkill. En particulier face � un langage comme Go et son approche "get the shit done". En effet y a quand m�me beaucoup de boites qui arrivent � correctement d�velopper des logiciels en C ou C++ sans vraiment �tre troubl�es par des probl�mes de s�curit� : leurs probl�mes au quotidien sont ailleurs. Oui certains bugs constat�s ne se seraient pas produits avec Rust, mais ce n'est pas ce qui g�ne le plus en pratique car l'outillage hyper mature aide � rattraper beaucoup de choses. Ca me parait important de le souligner car je trouve qu'au niveau communication sur Rust il y a une trop forte focalisation sur cet aspect dont au final peu de monde accord une forte importance. Je donne un exemple r�el : dans une conf un mec r�pond � une question sur pourquoi il faudrait choisir Rust en expliquant pendant plusieurs minutes commet Rust offre de super garanties de s�curit� en termes de programmation multi-thread etc... Puis il demande s'il a r�pondu � la question => "heu... nous on n'utilise pas de threads alors je sais pas". A trop se focaliser sur un aspect parmi tant d'autres, �a peut vite se retourner contre le langage en r�duisant la perception de son champ d'application r�el.

Enfin, pour qui essaye de suivre l'int�gration de Rust dans Firefox, Mozilla n'envoie pas des signaux tr�s positifs. Pour moi l� ils ont clairement merd� quand leur comm. Ca a pris beaucoup plus de temps qu'annonc�, l'effet "silver bullet" tant vant� n'a pas vraiment eu lieu, et aujourd'hui le navigateur est en s�rieuse difficult� face � ses concurrents int�gralement propuls�s en C++ : pas de quoi rassurer un d�cideur. C'est difficile d'avoir les raisons pr�cises de ces difficult�s, mais de ce que j'ai pu trouver comme information (j'ai du chercher sur les blogs perso de certains d�veloppeurs...) �a confirme ce que j'ai dit au d�but : d�velopper une brique logicielle dans un coin est une chose. Int�grer cette brique dans des syst�mes existants est une autre paire de manches. Et dans un environnement o� � peu pr�s tout repose sur C et C++, et bien ces 2 langages ont un avantage. La news ci-dessus vient rappeler cette d�pendance en tout un tas de couches de compatibilit� / int�gration, et c'est avec ce genre de "d�tails" (qui se multiplient sur les gros projets) que commencent � se diluer tous les avantages qu'on a pu gagner ailleurs.

Par exemple j'ai lu le t�moignage de d�veloppeurs qui au d�but ont �t� enthousiastes avec Rust, et puis ont fini par jeter l'�ponge face � ses lacunes dans le domaine de la 3D en particulier. L��cosyst�me C++ dans ce domaine est colossal, et un nouveau langage ne peut pas rivaliser avec de multiples biblioth�ques qui ont souvent +20 ans de d�veloppement ininterrompu dans des domaines tr�s pointus. Sans parler, semble-t-il, de la prise de t�te que c'est de coder des structures de donn�es complexes telles des arbres ou des graphes.

Face � C, je suis aussi assez dubitatif - mais pour d'autres raisons. D'abord parce que C++, malgr� sa possibilit� de l'utiliser comme un meilleur C, n'est pas parvenu � convaincre les d�veloppeurs r�calcitrants. Ceux que j'ai pu fr�quenter travaillaient tous dans le domaine embarqu�, et avaient comme point commun d'�tre tr�s � l'aise avec des concepts bas niveau de hardware et d'�lectronique, de masquage de bits, etc... et par contre de tr�s vite d�crocher quand on commence � parler d'abstraction, POO, patterns, etc... Je ne suis m�me pas arriv� � les convaincre de l'utilit� d'une classe vector ou string par rapport � une gestion manuelle ou via des macros. C'est une autre fa�on de penser le code, et c'est pourquoi je vois mal n'importe quel langage les convaincre. Y'a que Go semble-t-il, qui en s�duit quelques uns (Ken Thompson doit y �tre pour quelque chose).

Donc au final d�sol� si je casse un peu l'ambiance, mais j'essaye de faire la part des choses entre ce qu'on aimerait qu'il se passe, et ce qu'il peut r�ellement se produire. Faire basculer des �quipes de d�veloppement vers un nouveau langage ne r�pond pas aux m�mes crit�res de d�cision que choisir un langage pour un projet perso from scratch sur github. C'est un peu comme comparer 20 ans de vie de couple avec un flirt d'�t� Par le pass� y'a eu des vagues d'enthousiasme et d'int�r�t pour des langages comme D, F#, Haskell. Ces langages ont innov� et ont clairement apport� quelque chose � tous ceux qui les ont �tudi�s � en devenir super fan. Avec aussi, il faut le dire je crois, ce petit c�t� "�a c'est un vrai langage pour les vrais programmeurs" qui en pratique se marie assez mal avec le pragmatisme de l'industrie.

Personnellement je suis tr�s content que Rust soit l� et contribue � faire progresser notre m�tier. Mais j'ai l'impression qu'on se dirige plus vers un march� de niche qu'une adoption massive du langage. Et les quelques retours d'exp�rience qui commencent � circuler tendent � confirmer cela.

Je pense en effet que c'est honorer une techno que d'en reconnaitre les limites, pour �viter de la mettre dans des situations o� elle n'est pas adapt�e et peut causer des d�gats / d�ceptions. Paradoxalement, plus on connait les faiblesses et lacunes d'un langage, plus il devient fiable car sa zone de risque se clarifie. Et je trouve que c'est quelque chose qui manque encore beaucoup au sujet de Rust : des retours contrast�s sur son emploi. Beaucoup de discours sont dithyrambiques, on a l'impression de lire des plaquettes commerciales : pas vraiment de quoi rassurer sur la maturit� du langage. Donc si vous avez des retours d'exp�rience plus nuanc�s sur la base d'une utilisation s�rieuse je suis preneur !

Ceci �tant dit, j'aimerais conclure ce message un peu "douche froide" par ce qui est pour moi l'essentiel : le fait d'aimer un langage est une raison suffisante pour pratiquer ce langage. J'ai mis plusieurs ann�es � comprendre que l'affinit� qu'on peut avoir avec un langage n'est pas quelque chose de rationnel, mais rel�ve plut�t du go�t et des couleurs. Partant de l�, y'a pas � rationaliser pourquoi on pr�f�re ce langage. Car chaque langage capture une certaine fa�on de penser les choses, et quand on est se d�couvre en phase avec l'une d'elle alors y'a juste � se laisser porter afin de d'explorer tout ce qu'il y a � d�couvrir avec cette fa�on de faire. On en retire forc�ment quelque chose. Et � y r�fl�chir, c'est quand m�me plus sympa de choisir un langage sur un coup de coeur !

J'attends vos r�actions en esp�rant avoir bless� personne
9  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 02/05/2020 � 11:08
Citation Envoy� par defZero Voir le message
Pour ce qui est de travailler avec Rust �a ne d�pendra pas vraiment de tes envies / �tudes, mais plus du type de projet sur lesquels tu travaillera.
Si tu t�oriente vers le Web au mieux ce sera du Java / Go / .Net et au pire du PHP / Ruby / Python et dans tous les cas du JS, avec une petite lueur d�sespoir pour WASM, mais le leagacy restera.
Je ne doute pas que des langages de plus haut niveau sont dans la plupart des cas plus adapt�s pour du Web, mais Rust n'est pas totalement disqualifi� dans le domaine non plus. Il peut notamment avoir de l�int�r�t dans les parties qui requi�rent de la performance, pour g�rer des traitement plus lourds que du simple CRUD.

Cot� backend, il y a par exemple le framework Actix qui brille par ces performances et le framework Rocket qui fournit une API vraiment propre. Cot� frontend, Rust n'est clairement pas le langage le plus adapt�, sauf en ce qui concerne le WASM o� il est probablement le langage qui offre le meilleur support � l'heure actuelle.
4  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 01/05/2020 � 20:02
Le temps que tu sois embauch�, il est bien possible qu'il soit devenu courant a utiliser, en tout cas il le m�riterait certainement.

Mais vu l'omnipr�sence du C dans l'informatique de bas niveau actuellement, il n'aura certainement pas encore conquis le monde. Il n'y a qu'a voir comment le Cobol que l'on annonce mort depuis 30 ans est encore partout dans certains domaines de l'informatique.
3  0 
Avatar de defZero
Membre extr�mement actif https://www.developpez.com
Le 02/05/2020 � 20:32
Non pas que je doute que des langages de plus haut niveau soient dans la plupart des cas plus adapt�s pour du Web, Rust n'est pas totalement disqualifi� dans le domaine.
Il peut notamment avoir de l�int�r�t dans les parties qui requi�rent de la performance, pour g�rer des traitement plus lourds que du simple CRUD.
@Uther
Tout � fait d'accord, mais le vrai probl�me que va rencontrer Rust � l'avenir est de savoir s'il est assez bon pour justifier la bascule ?

Le type de syst�mes n�cessitant de la performance pour des traitements lourds que tu d�cris, aura plut�t tendance � �tre d�velopp� en JAVA, .Net ou Go, pour des raisons de simplicit�, de productivit�, de main d��uvre et surtout de co�ts.

Est-ce que Rust et son �cosyst�me pourra se justifier dans ces cas l� ?

D'autant plus quand on parle d'environnement Web o� la notion de performance � un sens somme toute relatif.
C'est principalement pour cela que je mettais le Rust face au C / C++ en environnement Pro et plut�t pour des projets autre que Web.

... Cot� backend, il y a par exemple le framework Actix qui brille par ces performances et le framework Rocket qui fournit une API vraiment propre.
Cot� frontend, Rust n'est clairement pas le langage le plus adapt�, sauf en ce qui concerne le WASM o� il est probablement le langage qui offre le meilleur support � l'heure actuelle.
@Uther
D�velopper un backend sur des frameworks Rust non stable (pr�-alpha, alpha), pour des performances dont on n'as pas forcement besoin, c'est prendre de gros risque pour pas grand chose � mon avis et cela que ce soit maintenant ou dans 10 ans (si les projets existent encore).
Pour le front, c'est un peut la m�me histoire, sachant que de dans tous les cas de figure, un d�veloppement JS sera n�cessaire, alors pourquoi partir sur Rust pour uniquement une compilation vers WASM alors que d'autres (JAVA, .Net, Go, Typescript ...etc), seront parfaitement apte � remplir l'ensemble des besoins ?

Pour moi le coup de d�veloppement en Rust ne peut ce justifi� que sur des projets qui auraient �t� confi�s au C / C++, soit des projets relativement lourds, long et couteux de toute fa�ons.

Rust est tr�s capable et je pense a �a place en rempla�ant de C / C++ sur certains projets, mais il faut savoir rester pragmatique et ne pas vouloir tout faire avec.
Ne faites pas de Rust le nouveaux NodeJS.
Apprenez � l�chez le marteau et vos probl�me ne ressemblerons plus tous � des clous .
3  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 04/05/2020 � 11:47
Citation Envoy� par SimonDecoline Voir le message
En quoi est-ce un exploit ? Je peux me tromper mais je crois que les OS existaient avant Rust... Il y a en m�me en Lisp : https://github.com/froggey/Mezzano
C'est clairement pas un exploit, juste une d�monstration plut�t probante que Rust est utilisable de mani�re idiomatique en tant que langage syst�me.
Je sais qu'on � vu des trucs louches comme des OS en Java, mais en g�n�ral c'�tait du gros bricolage. Je ne connaissait pas Mezzano, �a a l'air int�ressant, je regarderai si j'ai le temps, mais si c'est vraiment totalement en LISP, je suppose que �a doit aussi impliquer des trucs discutables du genre d'avoir un interpr�teur en ring 0.

Citation Envoy� par SimonDecoline Voir le message
Mais non, justement : la suret� m�moire � un co�t. Rust a l'avantage de permettre une gestion s�re par d�faut et de faire explicitement du unsafe, si n�cessaire, mais on n'a pas magiquement une gestion s�re ET les performances du C. D'ailleurs, si tu regardes les codes de ton benchmark, tu trouveras beaucoup de unsafe (https://benchmarksgame-team.pages.de...dy-rust-7.html), et donc on perd des garanties de gestion m�moire s�re.
M�me si en Rust on doit parfois renoncer � la s�curit� pour les performances, le fait qu'on ne le fasse que partiellement, et au cas par cas, reste un gros avantage.
Pour reprendre ton exemple, en un coup d��il on voit que la plupart des blocs "unsafe" sont des instruction SIMD qui ne touchent pas du tout � la m�moire et qui sont donc parfaitement safe (tout le SIMD est consid�r� unsafe m�me si toute les instructions le sont pas r�ellement). Les seules instruction SIMD de ce programme potentiellement dangereuses pour la s�curit� m�moire sont _mm_loadh_pd, _mm_loadl_pd et _mm_store_pd qui manipulent des pointeurs unsafe.

Donc pour v�rifier que tout le programme est s�r niveau m�moire, il suffit de v�rifier que ces 3 instructions ne font pas de d�passement, ce qui est relativement simple. Avec un code �quivalent en C il m'aurait fallu analyser l'int�gralit� du programme, je n'aurais pas �t� capable de te faire un diagnostic aussi rapide avec autant d'assurance.

Citation Envoy� par epsilon68 Voir le message
il faut voir comment rust evolue, car c++ a 30 ans d��volution derri�re lui, en relevant les nouveaux defis qui se presentaient.

il y a plein de projets fait en C ou c++ qui sont geniaux : sqlite, git, webkit
pourquoi eux y arrivent mais pas les autres ?
On a construit des cath�drales sans camions, ni marteau-piqueur, �a ne veux pas dire que ces outils sont inutiles maintenant que l'on en dispose.
D'ailleurs sqlite, git, webkit, ... n'ont pas miraculeusement �vit� les probl�me de vuln�rabilit� m�moire. C'est pas pour rien que Mozilla a �t� le premier sponsor de Rust. Les erreur de m�moires sont la principales source de vuln�rabilit� grave que l'on trouve dans les navigateurs qu'ils soient bas�s sur Webkit, Trident ou Gecko.

Citation Envoy� par epsilon68 Voir le message
les probl�mes sont beaucoup plus basique que ca, l'algo est faux, ou over compliqu�, le code est dupliqu� 50 milliard de fois, le ownership d'une ressource n'est pas compris (qui detient mon context ?), les structures de donn�es ne sont pas maitris�es.
Quand je vois en entreprise le niveau du code rien qu'en C#, j'ai vraiment peur. Je crois que fondamentalement, les probl�mes ne sont pas dans le langage ... je n'imagine m�me pas ce que ca pourrait donner en C++, je n'ai plus confiance, la majorit� doit coder avec le "luc"... En quoi Rust serait une solution ?
Pour un algo �ronn�, en effet Rust ne te sera d'aucun secours, par contre si le ownership n'est pas ma�trise, justement Rust ne te laissera pas compiler ton code. Un gros int�r�t de Rust est qu'il permet d�emp�cher compl�tement cette cat�gorie d'erreurs pas facile � appr�hender.

Une erreur d'algo, �a se trouve en g�n�ral relativement vite avec des bons test. Une erreur de m�moire on peut facilement la faire sans s'en rendre compte, et m�me les projets s�rieux avec gens exp�riment�s ne sont pas � l�abri.

Les gardes fous apport�s par Rust sont d'autant plus important quand est persuad� que l'on travaille avec des nuls, mais il ne faut pas oublier que m�me les meilleurs sont des nuls parfois.

Citation Envoy� par epsilon68 Voir le message
Comme par exemple quelqu'un qui a recod� une appli en swift... pour ensuite s'apercevoir d'un temps de compilation plus long, des complication dans la gestion des non-nullable etc, il a ensuite recod� en objective c avec une bien meilleure architecture... bref comme disait joel on software, tu peux perdre un temps infini de r�-ecrire ton soft en changeant la techno (a peu pres tous les 10 ans) ou bien tu peux rester competitif et implementer les fonctionalit�s qui manquent, en plus de refactorer.
Je pense qu'il y a moins de risque a encapsuler en C++ un programme existant vieux de 20 ans, que de tout re-ecrire en rust. En C++, on sait ou on va, mais en rust ?
C'est fou que d�s que l'on parle de Rust, les d�veloppeurs C++ s'imaginent qu'on leur demande de r��crire l'int�gralit� du code existant en Rust. �a n'est bien �videment pas pr�s d'arriver. On ne r�crit pas un code dans un nouveau langage sans une bonne raison de faire �a.
Par contre, le Rust sait au moins autant o� il va que le C++, qui a �norm�ment plus �volu�, particuli�rement ces dix derni�res ann�es.
3  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 03/05/2020 � 7:35
Citation Envoy� par defZero Voir le message
Le type de syst�mes n�cessitant de la performance pour des traitements lourds que tu d�cris, aura plut�t tendance � �tre d�velopp� en JAVA, .Net ou Go, pour des raisons de simplicit�, de productivit�, de main d��uvre et surtout de co�ts.

Est-ce que Rust et son �cosyst�me pourra se justifier dans ces cas l� ?
Je suis conscient que dans la majorit� des cas, pour le Web le goulot d'�tranglement, c'est plut�t le r�seau et la base de donn�es, pas les performances brutes du code. Mais dans les cas ou les performances sont importantes Rust peut tout � fait se justifier. Par exemple Dropbox a rapport� que de passer une partie tr�s consommatrice de son code de Go � Rust leur permis de faire d'�normes �conomies sur les besoins en mat�riel. Et puis le framework Rocket offre quand m�me un cadre de travail bien plus propre que pas mal de frameworks dans des langages de haut niveau.

Je ne dis pas que Rust est forc�ment le meilleur langage pour le backend, loin de l�, juste qu'il n'est pas totalement inint�ressant.

Citation Envoy� par defZero Voir le message
D�velopper un backend sur des frameworks Rust non stable (pr�-alpha, alpha), pour des performances dont on n'as pas forcement besoin, c'est prendre de gros risque pour pas grand chose � mon avis et cela que ce soit maintenant ou dans 10 ans (si les projets existent encore).
C'est vrai que Rocket n�cessite un compilateur Rust "nightly" car il utilise en interne des fonctionnalit�s avanc�es de Rust (qui devraient �tre d�finitivement stabilis�es cet �t�), mais l'API du framework lui m�me est stable. Le framework Actix est stable et fonctionne sans soucis avec les version stables de Rust.
Franchement quand je vois l'�tat de stabilit� de la majorit� des frameworks Web les plus utilis�s actuellement, je suis plus rassur� par la stabilit� des frameworks Rust.

Citation Envoy� par defZero Voir le message
Pour le front, c'est un peut la m�me histoire, sachant que de dans tous les cas de figure, un d�veloppement JS sera n�cessaire, alors pourquoi partir sur Rust pour uniquement une compilation vers WASM alors que d'autres (JAVA, .Net, Go, Typescript ...etc), seront parfaitement apte � remplir l'ensemble des besoins ?
Java, .Net et Go sont tout aussi d�pendant du JavaScript que Rust. Un des avantages de Rust quand on fait du Wasm, c'est justement qu'il fournit une plut�t bonne int�gration avec le JavaScript gr�ce � wasm-bindgen.

Citation Envoy� par defZero Voir le message
Pour moi le coup de d�veloppement en Rust ne peut ce justifi� que sur des projets qui auraient �t� confi�s au C / C++, soit des projets relativement lourds, long et couteux de toute fa�ons.
Rust est tr�s capable et je pense a �a place en rempla�ant de C / C++ sur certains projets, mais il faut savoir rester pragmatique et ne pas vouloir tout faire avec.
Ne faites pas de Rust le nouveaux NodeJS.
Apprenez � l�chez le marteau et vos probl�me ne ressemblerons plus tous � des clous .
Je suis enti�rement d'accord, c'est bien pour �a que je dis bien qu'il peut avoir son utilit� dans certaines situations, pas qu'il est la meilleure solution � tous les probl�mes. Ce qui vaut d'ailleurs pour tous les langages.
2  0 
Avatar de Nothus
Membre �m�rite https://www.developpez.com
Le 03/05/2020 � 9:45
C'est une excellente nouvelle

A de nombreux titres �mha.

D'abord parce que si Microsoft "joue le jeu", ce sont des ressources suppl�mentaires qui peuvent �tre allou�es � l'am�lioration et au d�veloppement du langage lui-m�me : du temps d'ing�nierie, probablement des propositions et pistes d'am�lioration.

Ensuite parce que c'est une �tiquette "qualit�" (chacun jugera) d'un grand �diteur logiciel pour entreprise (qui ne fait pas que des OS) - et donc favorise l'adoption dans les autres entreprises, si j'en crois un sondage r�cent sur un usage encore tr�s limit� dans le monde professionnel.

Ensuite (bis) parce qu'au-del� de l'�tiquette, c'est permettre davantage d'op�rations et de processus sur Windows : donc moins de co�ts de d�veloppement qu'aujourd'hui, plus de potentiel, donc plus facile � porter comme projet dans une organisation. Rust r�pond par sa s�ret�, � des attentes notamment vis-�-vis des normes de l'ANSII et d'une vision plus pro-active de la s�curit�.

Ensuite (ter) parce que c'est probablement � terme l'ensemble de l'environnement logiciel de Microsoft qui en aura un usage massif (je pense fort � l'alternative d'Amazon Lambda : Microsoft Function qui aujourd'hui ne supporte encore pas Rust).

Enfin parce que c'est un signal dans le monde du d�veloppement. L'effet de mode, au-del� des qualit�s m�mes de Rust, peut devenir un d�clencheur pour des profils d�veloppeurs � s'y int�resser, � commencer son relatif mais p�nible apprentissage, �largissant l'offre. �mulation dans les entreprises, durant les recrutements IT...

J'ai peut-�tre et m�me s�rement la foi du converti r�cent... mais tant mieux !
2  0 
Avatar de Uther
Expert �minent s�nior https://www.developpez.com
Le 04/05/2020 � 13:19
Oui enfin la c'�tait visiblement surtout quelque quidams lambda sur Github qui venaient sans doute de d�couvrir Rust peu apr�s sa sortie, et qui ne connaissent visiblement pas grand chose, les utilisateurs de Rust sont g�n�ralement les premiers a s'en moquer.
Y'a pas de vraie demande de fond � tout r��crire en Rust.
2  0 
Avatar de Astraya
Membre �m�rite https://www.developpez.com
Le 01/05/2020 � 14:21
C'est une excellente nouvelle. En esp�rant que cela aidera � son adoption dans les entreprises maintenant!
1  0 
Avatar de steel-finger
Membre confirm� https://www.developpez.com
Le 01/05/2020 � 14:36
C'est vraiment une tr�s bonne nouvelle. Nous avons commenc� � utilis� Rust au travail, habituellement on travaille sur C/C++.
Rust est un langage tr�s int�ressant, il corrige un certain nombre de d�faut qu'on retrouve dans certain langage.
1  0