0% ont trouvé ce document utile (0 vote)
38 vues16 pages

Introduction au langage Rust

Transféré par

rivomananamandaniaina
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues16 pages

Introduction au langage Rust

Transféré par

rivomananamandaniaina
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

The Rust Programming

Language
Barthelemy Romain
Sommaire

• Présentation du langage

• Sécurité et contrôle en programmation

• Rust: les performances alliées à la sécurité

2
Origines

• Langage développé par Mozilla pour la refonte de son navigateur

• Ancien moteur de rendu:

• Nouveau moteur en Rust: Servo en partenariat avec Samsung

Présentation du langage 3
Langage multi-paradigme

• Syntaxe proche du C++

• Fonctionnel, impératif, orienté objet, programmation concurrente

• Développé pour être sûr et efficace


Présentation du langage 4
Sécurité et contrôle en programmation

• Ces aspects de programmation sont normalement opposés

• Exemples de langages
• Contrôle: C
• Sécurité: Java

Sécurité et contrôle en programmation 5


Programmation contrôlée: C

• Contrôle sur la mémoire et les calculs effectués. Résultat: code optimisé


• Dangers: segfaults, bugs en programmation multi-threadée, etc…

Sécurité et contrôle en programmation 6


Programmation plus sécurisée: Java

• Bibliothèques de code sûr: programmation de haut niveau

• Avantages: moins de confusions et donc d’erreurs

• Inconvénients: les outils fournis sont plus complexes que ce dont il y a besoin

Sécurité et contrôle en programmation 7


Une alliance des deux possible?

• A priori impossible: plus de contrôle = plus de libertés = moins de sécurité

• Rust est-il la solution?

Sécurité et contrôle en programmation 8


Principe

• Programmation de bas niveau comme avec C++

• Un compilateur interdisant les cas à risques

Rust: les performances alliées à la sécurité 9


Contrôle des accès mémoire
• Accès multiples à un pointeur + Modifications= DANGER
• L’écriture n’est possible que si personne ne lit ou écrit la variable, les lectures
parallèles sont possibles
• Le compilateur détecte et interdit les cas contraires.
• Exemple de code accepté:

Rust: les performances alliées à la sécurité 10


Programmation concurrente
• Accès multiples à un pointeur + Modifications
+ Absence d’ordonnancement = DANGER
• La solution précédente permet la programmation concurrente sans
problème d’accès mémoire

Rust: les performances alliées à la sécurité 11


Des moyens de contournements

• Si c’est absolument nécessaire et contrôlé en parallèle, il est possible de


définir des blocs « unsafe » moins contraints

Rust: les performances alliées à la sécurité 12


Conclusion
• Programmation efficace en toute sécurité

• Quelques contreparties
• Compilateur plus restrictif qu’avec C++
• Langage encore en cours de développement
• Peu d’IDE prenant Rust en charge
• Syntaxe changeante

13
Démonstration

14
Merci pour votre attention!

Des questions?

15
Références

• [Link]
• [Link]
• [Link]
• [Link]

16

Vous aimerez peut-être aussi