Suivre

Korben... Qui sombre lui aussi à de l'info putassière pour nous dire que Rust c'est de la folie. Lisez bien le slide pris en photo.

Et oui... Les dev Rust sont "aussi productifs que ceux de Go". Super... On le sait qu'on code moins vite en C++ mais Rust n'est pas le langage le plus adapté. Puisque les devs d'autres langages sont aussi productifs.

Et C++ a aussi des avantages. Ça me saoule cette tendance des Rust fans.

korben.info/rust-google-produc

@tuxicoman ah bah ça... Lui qui pourtant a fait la promotion de bloqueurs...
C'est dommage parce que j'aime bien son blog de manière générale. J'apprends peu de chose mais des fois il parle de trucs sympas. Mais il sombre depuis quelques temps dans la facilité.

@metal3d c'est dommage comme réaction... Oui les fanboys c'est pénible dans tous les domaines mais peut-être que si on est tellement emballé par Rust c'est pas juste parce qu'on a avalé la propagande (de qui d'ailleurs?) mais parce que le langage combine de vrais qualités qu'on retrouve pas ensemble ailleurs, et qu'il mérite d'être considérer pour ce qu'il propose? Peut-être essaye, peut-être ça va te plaire :)

@corpsmoderne je code en Rust et en Go. Les principes de Rust et Go, leurs objectifs, leurs buts, ne sont pas les mêmes.
Ce qui m'énerve c'est cette tendance que je ne vois que de la part des fans de Rust à vouloir se comparer à tous les autres langages et se dire meilleur. J'ai reçu des mails de fana qui me fustigent de ne pas avoir utilisé Rust pour mon outil "Katenary". Je vois des gens coder des API REST en Rust en 3 fois plus de temps pour un gain de perf rasant les 5%...
Voilà pourquoi...

@metal3d Rust et Go sont mis en parallèle parce qu'ils proposent (au départ) chacun une réponse (très différente) à la même problématique: comment on fait quand on a besoin de plus de perf qu'un langage qui tourne dans une VM (au hasard: Java), mais qu'on ne veut pas faire de C++ parce que c'est l'enfer? Et donc chacun fait un proposition très différente avec des compromis très différent... 1/N

@metal3d avec effectivement une idée reçu qu'on développe plus vite en Go qu'en Rust (tu dis "3 fois"). Ce qui est intéressant dans la présentation de Google c'est que c'est manifestement en myth (même si je veux bien admettre que ça dépend de plein de facteur, en particulier l'équipe et la taille du projet (tout le monde n'est pas Google). 2/N

@metal3d par contre, pour le commun des mortels, l’intérêt de Rust c'est pas les N% de perfs en pus, et c'est pas son compilo qui est super: c'est son système de type (qui permet au compilo d'être super), qui permet de correctement modéliser ton domaine d'application et ses invariants, beaucoup plus précisément (ou avec moins d'efforts) qu'en C++ ou en Go. C'est ça qui donne le sentiment de sécurité et de confiance. 3/3 c'est déjà trop de blabla. Mais oui j'entends que les fanboys c'est chiant

@corpsmoderne alors il y a deux choses.
D'abord, je n'ai pas choisi Go pour ses performances. C'est du bonus ça. Je l'ai choisi pour la sécurité du typage, sa souplesse et sa facilité de déploiement. Et je choisi aussi Python ou Rust pour d'autres raisons.
Par contre, il faut remettre mon propose dans le contexte. Quand je dis qu'on peut faire des choses 3 fois plus vite qu'en Rust, c'est dans le domaine qui occupe mes journées: le DevOps et les API REST. Et j'ai longuement testé.

@corpsmoderne python me paraissait un choix plus adapté. Mais cela a provoqué un vrai problème de bugs répétés en DevOps à cause des types trop hétérogènes. Et j'avais besoin aussi de packages intégrés (compose, kube...).
Rust c'est le désert sur ce poin. Go s'impose.
En API REST (et en ML) c'est Python qui me permet de coder beaucoup plus vite et avec des perfs intéressantes. Rust ne m'apporte rien sur ces domaines en terme de prod.

Mais ... =>

@corpsmoderne attention, Rust trouve sa place dans ces domaines. Là où il est intéressant.
Par exemple, en ML, il existe des module Python codés en Rust. Et bien entendu que je l'apprécie ici.
En terme d'API rest, j'ai besoin parfois de taper dans des services et Rust propose une implémentation généralement plus optimale et sécurisée. Très bien.
Mais ayant réalisé des études de productivité avec des clients (et des spécialistes Rust), Rust est rarement meilleur.

@metal3d ce que je retiens de ce que tu dis c'est qu'aujourd'hui l'écosystème Go pour ton cas d'usage est plus mature (c'est logique vu d'où vient Go). Le point important à retenir de la Keynote à la base de l'article c'est que tout un tas de gens à l’intérieur de la boite qui a poussé Go trouve, data à l'appui, que Rust est un meilleur langage pour écrire des services. Tu peux donc te réjouir: il y a fort à parier que l'écosystème Rust va rapidement progresser dans ton domaine d'application :)

@corpsmoderne la keynote est faite par et pour des gens qui aiment Rust. On sait ce que valent les conf "pro langage".

Moi je me base sur les études qu'on réalise avec un set d'expert de plusieurs langages. On sait quand et pourquoi utiliser Rust, Go, Java ou Python, ou PHP, ou...

@corpsmoderne donc, il va falloir arrêter de continuellement vouloir mettre ce langage en haut de la pile. Il y a 20 ans j'entendais les mêmes discours avec Java. Aujourd'hui je vois des boîtes qui se mordent les doigts d'avoir suivi la tendance.
Mon discours est simple: utilisez les outils, langages et frameworks adaptés à vos besoins. Ne vous orientez pas seulement pour suivre une hype.

@corpsmoderne PS : j'entends tes arguments et je les apprécie. Je te jure que je les garde pour conduire mes réflexions futures. Je suis, en réalité, dans la vraie vie, très ouvert et friant d'apprendre continuellement. Les avis éclairés de gens courtois, je les apprécie vraiment. Donc merci pour cet échange 🙂

@corpsmoderne Rust, c'est le compilo qui est bon. Le langage est lourd et moins lisible que beaucoup d'autres langages. Rust a plein de défauts, tout comme Go, C++, Python etc.
Ça fait des mois que je tombe continuellement sur des comportements de la communauté Rust qui est purement irrespectueuse.
Sur des projets Python, y'a même des gars qui ouvrent des issues pour demander de recoder tout le projet en Rust. Sans raison autre que le fait d'adorer le langage.

@corpsmoderne la vérité c'est que beaucoup de ces comportements viennent de jeunes dev qui ont appris ce langage et pas grand chose à côté. Ça me rappelle ce que j'étais au début de ma carrière à tout vouloir faire en PHP.

Mais ce n'était pas à ce point.

(Et je ne code plus en PHP depuis des années)

@metal3d Bof, rien de nouveau sous le soleil non? Pas évident de faire de la profondeur avec un blog généraliste.

Mais bon, puisqu’il faut creuser la comparaison avec go (que j’aime bien aussi), on peut citer ce qui est dit directement dans le talk:

> "When we've rewritten systems from Go into Rust, we've found that it takes about the same size team about the same amount of time to build it," said Bergstrom. "That is, there's no loss in productivity when moving from Go to Rust. And the interesting thing is we do see some benefits from it.
>
> "So we see reduced memory usage in the services that we've moved from Go ... and we see a decreased defect rate over time in those services that have been rewritten in Rust – so increasing correctness."

Maintenant je prendrai ça avec des pincettes (cf l’audience et l’auteur de la conf); mais il faut creuser, réfléchir, et voir qu’il n’y a pas de fumée sans feu (un peu le même message que @corpsmoderne ici).

@Aissen @corpsmoderne ce qui m'énerve c'est les raccourcis pris par la communauté Rust pour nous expliquer que seul leur langage vaut quelque chose. Voir la réponse que j'ai donné à @corpsmoderne 😉

Je code en Rust. Mais j'utilise et j'utiliserai toujours Go, Python, ou même C/Cpp en fonction du besoin. Et c'est une chose que j'ai du mal à faire comprendre à pas mal de fans de Rust: je n'ai pas tout le temps besoin de chasser le % de gain de perf

Inscrivez-vous pour prendre part à la conversation
techlover

Technology lovers, here we are — (development, digital artwork, science…)