Rust
Version débutant
Histoire
Text
- Samsung cherchait un navigateur web capable de d'exploiter pleinement les architecture multicœur
- Le C/C++ était trop contraignant pour la gestion du
- Les autres langages trop "lents"
- Webkit est écrit en C et est sous-bassement de la plupart des navigateurs du marché
- Le développement a commencé comme side-project en 2006
- Pris en charge par la Fondation Mozilla en 2009
- Le compilateur Rust se compile lui-même à partir de 2011
- Samsung prend contact avec Mozilla en 2013
- 2020: Microsoft annonce que certaines partie de ses softs vont être transcrits en Rust
Dates clefs
Graydon Hoare
Caractéristiques
Impératif
- Affectation
- Conditions
- Boucles
- Fonctions
- Structures
Typage Fort
- Les types de données manipulé sont connus à la compilation
- Évite des erreurs d'inattention
- Facilite le refactoring massif
- Permet au compilateur d'aider le dévloppeur
- Types génériques
Gestion de la mémoire
- Absence de garbage collector
- Absence de désallocation manuel
- Safe en éxécution
- Immutabilité par défaut
- Concept d'ownership
POO
POO
- Structures
- Implémentation
- Trait
- Dérivation
La fin de NULL et les erreurs
- NULL n'existe pas
- Les exceptions n'existe pas
- Les deux sont remplacé par des énumérations
- Result pour les résultats de traitement
- Option pour les variables nullable
Pattern Matching
- Matcher des valeurs spécifiques
- Matcher en destructuration
- Matcher avec des conditions
Tooling
Tests et lint
- Fourni avec des outils de tests unitaires
- De coverage
- De benchmark
- De lint grâce à Clippy
Package Manager
- Cargo ( le couteau suisse )
- Crates.io
- Doc Rust ❤
Démo!
Merci de m'avoir écouté 😁
deck
By akanoa
deck
- 417