Donnes toi un peu de temps pour l'apprécier. J'ai du m'y prendre à plusieurs fois pour adopter la bête. J'ai été très découragé au début par la syntaxe et les mécanismes de gestion de mémoire "safe" (borrowing, lifetime).
Mais en tant que programmeur C tu apprécieras sûrement :
Le build système intégré (Cargo), et son lot de modules tiers (crates.io).
Le langage a été pensé pour s'interfacer avec le C très facilement.
Des structs, des méthodes et des interfaces, mais pas d'héritage (fini la programmation objet de papa qu'on a tous appris à l'école).
Des enums vraiment sympa.
Des templates. Je ne suis pas fan des templates, mais l'approche de Rust est assez élégante.
Une gestion fine de la mémoire, complètement safe et sans l'overhead d'un garbage collector : pas de coredump, pas d'overflow, pas de release after free et autre subtilités qui font la joie des pirates.
Thread safety garantie à la compilation (c'est sans sans prix !)
Un système de macro puissant.
Une cross-compilation intégrée avec support de nombreuses platformes (Windows, Linux, Mac, BSD, ARM, ...).
Une librairie standards minimaliste pour des conteneurs (Vecteurs, Lists chainées ...) que tu peux exclure du link si tu veux faire un binaire minimaliste pour de la programmation embarquée.
Bref Rust se positionne comme le remplaçant du C, plus que du Java par exemple. Mais clairement la courbe d'apprentissage est longue, à l'opposée de tout ce qui se fait aujourd'hui comme Go ou Swift.
[^] # Re: Go ou Rust côté backend, système ou embarqué
Posté par Ririsoft . En réponse au journal La ronde (boucle?) des langages. Évalué à 7.
Donnes toi un peu de temps pour l'apprécier. J'ai du m'y prendre à plusieurs fois pour adopter la bête. J'ai été très découragé au début par la syntaxe et les mécanismes de gestion de mémoire "safe" (borrowing, lifetime).
Mais en tant que programmeur C tu apprécieras sûrement :
Bref Rust se positionne comme le remplaçant du C, plus que du Java par exemple. Mais clairement la courbe d'apprentissage est longue, à l'opposée de tout ce qui se fait aujourd'hui comme Go ou Swift.