Skip to content
This repository has been archived by the owner on Mar 23, 2020. It is now read-only.

Commit

Permalink
init french language
Browse files Browse the repository at this point in the history
  • Loading branch information
sepiropht authored and spacekookie committed Jan 17, 2019
1 parent 3cb312e commit f658918
Show file tree
Hide file tree
Showing 7 changed files with 175 additions and 2 deletions.
2 changes: 2 additions & 0 deletions presentation/chapters/fr-FR/intro.chapter
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)
142 changes: 142 additions & 0 deletions presentation/chapters/fr-FR/overview.chapter
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)
1 change: 1 addition & 0 deletions presentation/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
<option value="de-DE">Deutsch</option>
<option value="en-US">English</option>
<option value="es-ES">Spanish</option>
<option value="fr-Fr">French</option>
</select>
</div>
</template>
Expand Down
3 changes: 2 additions & 1 deletion presentation/js/slideInit.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ LocaleSelector.initialize({
locales: {
"en-US": "chapters/en-US/" + chapter + ".chapter",
"de-DE": "chapters/de-DE/" + chapter + ".chapter",
"es-ES": "chapters/es-ES/" + chapter + ".chapter"
"es-ES": "chapters/es-ES/" + chapter + ".chapter",
"fr-Fr": "chapters/fr-FR/" + chapter + ".chapter"
},
default: "de-DE",
reveal: {
Expand Down
24 changes: 24 additions & 0 deletions presentation/toc/french.html
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&amp;locale=fr-Fr">Tour d'horizon</a></li>
</ul>
</body>
</html>
3 changes: 3 additions & 0 deletions presentation/toc/french.md
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)
2 changes: 1 addition & 1 deletion src/lib.rs
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"];

0 comments on commit f658918

Please sign in to comment.