Benefits of Rust
Quelques arguments de vente uniques à Rust :
-
Compile time memory safety - whole classes of memory bugs are prevented at compile time
- Aucune variable non initialisée.
- Pas de double libération de mémoire.
- Aucune utilisation après la libération.
- Pas de pointeurs
NULL
. - Pas de mutex verrouillés oubliés.
- Pas de courses de données entre les threads.
- Aucune invalidation d'itérateur.
-
No undefined runtime behavior - what a Rust statement does is never left unspecified
- Array access is bounds checked.
- Integer overflow is defined (panic or wrap-around).
-
Modern language features - as expressive and ergonomic as higher-level languages
- Enums and pattern matching.
- Generics.
- No overhead FFI.
- Zero-cost abstractions.
- Great compiler errors.
- Built-in dependency manager.
- Built-in support for testing.
- Excellent Language Server Protocol support.
Do not spend much time here. All of these points will be covered in more depth later.
Assurez-vous de demander à la classe dans quels langages ils ont de l'expérience. Selon la réponse, vous pouvez mettre en évidence différentes fonctionnalités de Rust :
-
Expérience avec C ou C++ : Rust élimine toute une classe d'erreurs d'exécution via le vérificateur d'emprunt. On obtient des performances comme en C et C++, mais sans problèmes d'insécurité de la mémoire. De plus, Rust est un langage moderne avec des constructions telles que le filtrage par motif et la gestion intégrée des dépendances.
-
Expérience avec Java, Go, Python, JavaScript... : On bénéficie de la même sécurité mémoire que dans ces langages, plus un sentiment de langage de haut niveau similaire. En outre on obtient des performances rapides et prévisibles comme C et C++ (pas de ramassage d'ordures) ainsi que l'accès au matériel de bas niveau (si l'on en a besoin).