13 points par GN⁺ 2024-11-30 | 13 commentaires | Partager sur WhatsApp
  • TLDR : au final, c’est une question d’emploi
  • Pendant 3 ans, expérience sur des travaux variés en Rust : code asynchrone/multithread, FFI (avec bindgen), programmation kernel (sans std), etc.
    • Mais actuellement, passage au développement C++ plutôt que Rust
  • Rust offre de meilleurs outils que C++ (Cargo) et un meilleur écosystème de bibliothèques (crates.io), tout en supprimant des complexités comme l’OOP, la gestion des exceptions et la gestion mémoire, et en entraînant les développeurs à coder de la « bonne manière »
  • Mais Rust ressemble à la relation entre Betamax et VHS, ou Mastodon et Twitter : techniquement supérieur, mais insuffisamment adopté par le grand public
    • Un langage de programmation est une technologie de communication pour transmettre des idées entre développeurs, et son taux d’adoption est un facteur clé de sa réussite
  • Les autres langages s’améliorent aussi suffisamment
    • Go : courbe d’apprentissage plus faible que Rust, compilation plus rapide et cycle d’itération plus court
    • C++ : amélioration des outils de sûreté et de linting capables de contenir Rust
    • JavaScript, WASM : les gains de performance compensent les avantages de Rust
  • Obtenir un emploi grâce à Rust présente des difficultés très concrètes
    • Les recrutements Rust privilégient surtout des compétences spécialisées (blockchain, finance, machine learning/analyse de données, protocoles réseau obscurs, cybersécurité, etc.), Rust étant considéré comme une compétence secondaire
    • Bien connaître Rust ne suffit pas pour être recruté ; la connaissance d’un domaine spécifique est davantage valorisée
  • Ce subreddit fait aussi partie du problème
    • Par rapport aux communautés d’autres langages (Golang, C++, etc.), il y a peu de discussions sur les emplois liés à Rust
    • On a l’impression que « la première règle des posts Rust Jobs, c’est de ne pas parler de Rust Jobs », et cet isolement limite l’influence du langage
  • Le manque de soutien des entreprises mérite aussi d’être mentionné
    • La plupart des langages qui ont réussi par le passé ont bénéficié du soutien de grandes entreprises
      • Ex. : IBM (Fortran), AT&T (C), Microsoft (C#), Google (Python), Apple (Swift)
    • Rust manque d’un sponsor clair parmi les grandes entreprises, ou d’un acteur poussant fortement son adoption auprès des clients
  • Rust pourrait suivre la trajectoire de technologies innovantes mais ayant échoué à s’imposer auprès du grand public, comme Lisp et Smalltalk

13 commentaires

 
reagea0 2024-12-03

On entend sans cesse que C++ va être remplacé, mais ça fait des années que ça revient à chaque fois..

 
joone 2024-12-03

« Rust pourrait suivre la trajectoire de technologies innovantes mais ayant échoué à s’imposer auprès du grand public, comme Lisp ou Smalltalk »

La dernière phrase me paraît difficile à approuver. Il est déjà largement utilisé dans l’industrie.

 
ahwjdekf 2024-12-02

Il paraît qu’on peut aussi obtenir de l’énergie infinie avec Rust.
https://www.reddit.com/r/ProgrammerHumor/comments/1h3v3uz/freeenergy/

 
bus710 2024-12-03

Vous croyez que les utilisateurs de Rust sont des idiots ou quoi ? (sursaute)

 
cosine20 2024-12-02

Quand Java est apparu pour la première fois, les attentes étaient elles aussi très élevées, mais il a fallu beaucoup de temps avant qu’il soit largement utilisé dans de nombreux endroits.

 
kandk 2024-12-02

L'industrie du C++ elle-même me semble plutôt conservatrice. Elle migrera sans doute lentement vers Rust.

 
dh0rwwit 2024-12-01

Pour que Rust réussisse, il faut que quelqu’un lance une startup dans la Silicon Valley en utilisant Rust, fasse un carton et se mette à recruter des développeurs Rust..

 
clastneo 2024-12-01

C’est un peu comme chez nous quand on ne trouve pas de travail si on ne maîtrise pas un langage en particulier.

 
dalinaum 2024-12-01

Je pense qu’il y a pas mal de mythes autour de VHS et Beta.

Les gens réduisent l’échec des technologies minoritaires à un simple échec marketing, et soutiennent parfois que la technologie minoritaire était supérieure. Ce fut aussi le cas lorsque le Betamax de Sony a perdu face au VHS de JVC. Les gens racontent que le Betamax, pourtant supérieur, a perdu.

Mais il y a quelque chose que les gens ignorent.

Le VHS était la seule technologie capable de couvrir 2 heures. Le Betamax n’avait pas une capacité suffisante pour accueillir des contenus phares comme les films. Il existait bien une prise en charge des vidéos de 2 heures avec Beta 2, mais au prix de son principal avantage, la qualité d’image.

Le VHS disposait d’un mécanisme mécanique supérieur, ce qui permettait un rembobinage bien plus rapide. Le Betamax était difficile à rembobiner ou à faire avancer rapidement pour regarder une séquence.

En PAL, le VHS était de bonne qualité, tandis que le Betamax, conçu pour le NTSC, était catastrophique en PAL. C’était l’une des raisons pour lesquelles le Betamax avait du mal à s’imposer en Europe.

Même objectivement, je considère que le VHS était une solution bien mieux équilibrée.

De la même manière, je pense que Windows NT était une technologie bien mieux équilibrée que le Mac OS classique. Apple a aussi mis 6 ans de plus que Microsoft à proposer un système d’exploitation préemptif.

 
woonki 2024-12-02

Je suis d'accord. +1

 
ndrgrd 2024-12-01

Merci pour ces informations utiles. J’ignorais jusqu’à présent qu’il était difficile de rembobiner avec le Betamax.

 
GN⁺ 2024-11-30
Commentaires sur Hacker News
  • Rust est techniquement supérieur au C++, mais l’adoption et la popularisation comptent

    • Rust est meilleur un peu de la même manière que Betamax l’était face au VHS, Mastodon face à Twitter, le clavier Dvorak face au QWERTY, l’espéranto face à l’anglais, ou Lua face à Javascript
    • Les idées de Rust sont également reprises dans d’autres langages comme Swift
  • Au Royaume-Uni, quand on cherche un emploi en C++, on parle d’intérêt pour Rust, mais les occasions de l’utiliser réellement sont rares

    • Les emplois autour de Rust sont surtout liés à la fintech crypto et à l’industrie de la défense
    • Il est regrettable que Rust ne soit utilisé que comme alternative à Ada
  • Il n’est pas nécessaire d’abandonner le C++ pour utiliser Rust

    • Il faut chercher des occasions d’adopter Rust dans les nouveaux projets
  • L’attachement à Rust peut commencer dans des projets personnels

    • Il est difficile de mener de grosses mises à jour en Rust au travail
    • Il faudrait d’abord envisager d’autres langages à mémoire sûre
  • Certains aiment le langage C et sont ouverts à l’apprentissage de nouveaux langages

    • Apprendre auprès de personnes qui critiquent le C n’inspire pas confiance
    • Pour promouvoir Rust, il faudrait qu’il soit recommandé par des gens qui aiment le C
  • Le choix d’un langage est une décision de conception

    • Évaluer les avantages et les inconvénients d’un langage sans préciser le cas d’usage et les exigences du projet n’est pas rationnel
  • C et C++ sont des langages d’une époque donnée

    • Le C++ finira par être remplacé, mais cela prendra du temps avant qu’une nouvelle génération de programmeurs n’émerge
  • Certaines personnes aiment utiliser le C++

    • Des langages plus récents comme Kotlin sont intéressants, mais on finit par revenir au C++
  • La comparaison Betamax vs. VHS, X vs. Mastodon est intéressante

    • Si l’on voulait un langage de programmation sûr et à haute intégrité, on choisirait SPARK2014
    • Rust a gagné en popularité auprès du public technophile, tandis que SPARK est utilisé dans l’aérospatiale, entre autres
    • L’adoption d’un langage de programmation tient à la fois de la mode et de ses avantages et inconvénients techniques
 
chureee 2024-12-02

J’ai abandonné il y a quelques heures.
J’essayais de créer un firmware pour le Raspberry Pico en Rust.
Impossible d’obtenir la moindre aide utile pour le dépannage. 😤