This repository has been archived by the owner on Mar 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 66
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3cb312e
commit f658918
Showing
7 changed files
with
175 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Rust en 3 jours | ||
[Table des Matières](toc/french.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
# Aperçu | ||
[Table des Matières](toc/french.html) | ||
|
||
--- | ||
|
||
## Un peu d'histoire | ||
|
||
- Rust a peu près 10 ans | ||
- Est un projet expérimental de Graydon Hoare | ||
- Adopté par Mozilla | ||
- Présenté au grand public en 2012 en version 0.12 | ||
- Ressemblait un peu à Go à l'époque | ||
|
||
--- | ||
|
||
## Focus | ||
|
||
- Rust a perdu beaucoup de features entre 2012 et 2014 | ||
- Garbarge Collector, event runtime, sytème complexe pour de support des erreurs | ||
- Tous présent à une époque, maintenant partis | ||
- Le design s'est orienté vers la programamtion système | ||
|
||
--- | ||
|
||
## Développement | ||
|
||
- Toujours avec un grand projet (ex: Servo) | ||
- Une adoption très tôt des releases régulière, depecrations et RFC processus | ||
- Bonnes methodes de developpement logiciel | ||
- "Les choses ne sont pas completes tant qu'il n'y a plus rien à ajouter mais quand il n'y a pas | ||
plus rien à enlever." | ||
|
||
--- | ||
|
||
### Release Method | ||
|
||
- Nightly releases | ||
- Toutes les 6 semaines, la nightly courante est promue en bêta | ||
- Après 6 semaines de tests, la beta devient la nouvelle stable | ||
- Rétro-comptabilité garantie | ||
- Rendre les petites itérations plus faciles | ||
|
||
--- | ||
|
||
## Buts | ||
|
||
- Explicite au lieu d'implicite | ||
- Exécution au runtime prévisible | ||
- Permet le developpement stable de logiciel en général | ||
- Pragmatism et intégration facile | ||
- Projet approchable | ||
|
||
--- | ||
|
||
### Rust veut être en premier utilisable! | ||
|
||
--- | ||
|
||
Plusieurs exemple dans ce cours sont vraiment court, c'est pourquoi nous allons passer du temps pour | ||
discuter de l'impact plusieurs features sur des larges projets. | ||
|
||
--- | ||
|
||
### Les trois mots | ||
|
||
|
||
- Sûr | ||
- Concurrent | ||
- Rapide | ||
|
||
--- | ||
|
||
## Sûr | ||
|
||
- Rust est sûr du point de vue de la memoire | ||
- Pas d'accès illégal à la memoire | ||
- La desallocation est automatique | ||
- Attention: Les fuites de memoires sont sûr par cette définition | ||
|
||
|
||
## Concurrent | ||
|
||
|
||
- "Parallèlisation sans peur" | ||
- Le système de type detecte les accès concurrent aux données et requiert la synchronisation | ||
- Aussi Rust detecte quand les accès non syncronisé sont possibles! | ||
- Protections contre les data race! | ||
|
||
--- | ||
|
||
## Rapide | ||
|
||
- Ces propriétés sont garanties à la compilation et il n'y pas de côut à l'éxécution! | ||
- Les optimisation sont basées sur LLVM | ||
- Les features avec un coût à l'éxécution sont dures à activées par accident | ||
- Pas de reflexion (Dracula-language) | ||
- Dispatch static par défault | ||
|
||
--- | ||
|
||
### Pragmatique | ||
|
||
|
||
- Un sous language pour les accès non sûr à la mémoire | ||
- Bonnes techniques pour les supporter | ||
- Bon support des FFI | ||
- Les messages d'erreurs du compilateur sont excellents. | ||
- Rust aide pour beacoup de chose difficile et vous fait confiance pour le reste | ||
|
||
--- | ||
|
||
## Les features du languages | ||
|
||
|
||
- Rust est un language basé sur les expressions. Chaques expressions a une valeur, qui peut être | ||
assignée ou retournée. | ||
|
||
- "Paye ce que tu utilise": Rust a des features qui ont un coût au runtime explicitement. Les | ||
features non utilisés ne coûte rien. | ||
|
||
- Abstraction sans coût | ||
|
||
--- | ||
|
||
## D'où viennent les rusticians ? | ||
|
||
D'une égal part de: | ||
|
||
- Language dynamiques (Js, Rubyistes, Python) | ||
- Language fonctionnel comme scala and haskell | ||
- C/C++ | ||
|
||
|
||
--- | ||
|
||
## Utilsateurs célébres | ||
|
||
- Mozilla Firefox | ||
- Mozilla Servo | ||
- Gnome | ||
- Dropox | ||
- [Communauté friends](http://rust-lang.org/friends.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<!DOCTYPE html> | ||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta name="generator" content="pandoc" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> | ||
<title>french</title> | ||
<style type="text/css"> | ||
code{white-space: pre-wrap;} | ||
span.smallcaps{font-variant: small-caps;} | ||
span.underline{text-decoration: underline;} | ||
div.column{display: inline-block; vertical-align: top; width: 50%;} | ||
</style> | ||
<!--[if lt IE 9]> | ||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script> | ||
<![endif]--> | ||
</head> | ||
<body> | ||
<h1 id="rust-in-three-days">Rust en 3 jours</h1> | ||
<ul> | ||
<li><a href="../index.html?chapter=overview&locale=fr-Fr">Tour d'horizon</a></li> | ||
</ul> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Rust en 3 jours | ||
|
||
* [Tour d'horizon](../index.html?chapter=overview&locale=fr-Fr) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
pub const LOCALES: [&'static str; 3] = ["en-US", "es-ES", "de-DE"]; | ||
pub const LOCALES: [&'static str; 3] = ["en-US", "es-ES", "de-DE", "fr-Fr"]; |