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

Init french language #125

Merged
merged 1 commit into from
Jan 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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"];