Skip to content
Snippets Groups Projects
Select Git revision
  • d23c94021f9202b305fb49eedc5bab0283bcdb20
  • main default protected
  • update_2024
  • fix_formatting
4 results

introduction.md

Blame
  • Forked from orestis.malaspin / rust-101
    81 commits behind the upstream repository.

    Introduction

    Avant de commencer, quelques références

    La communauté Rust

    Rust playground

    Pourquoi Rust?

    • Langage le plus aimé sur stackoverflow en:
      • 2016,
      • 2017,
      • 2018,
      • 2019,
      • 2020,
      • 2021,
      • 2022,
      • 2023,
      • 2024,

    Et en vrai?

    • Une mascotte super mignonne

    Ferris

    Une brève histoire du Rust

    • Créé comme projet personnel par Graydon Hoare chez Mozilla en 2006.
    • Financé par Mozilla dès 2010.
    • Rendu public la première fois en 2012 (version 0.4).
    • Orientation vers la programmation système.
    • Première version stable (1.0) en 2015 (3 ans cette année).
    • Stabilisation de fonctionnalités tous les 6 semaines.
    • Version stable actuelle 1.71.

    Concept de base

    • Compilateur très pointilleux.
    • Langage moderne:
      • procédural et fonctionnel,
      • gestion de dépendances simple,
      • bonne intégration dans les IDE modernes,
      • gestion des erreurs élégante.

    Sûreté

    • Fortement typé.
    • Pas d'accès mémoire illégal (dépassement de capacité, use after free).
    • La désallocation est automatique.
    • Les erreurs mémoires sont donc TRÈS difficile à faire.

    Concurrence

    • Concurrency without fear.
    • Le système de type empêche un accès concurrent à des données.
    • La synchronisation des données doit être explicitement faite.
    • Détection si l'accès asynchrone est sûr à la compilation.
    • Protection contre les accès concurrents.

    Rapidité

    • Les conditions de sécurité sont gérées à la compilation (pas de coût à l'exécution).
    • Abstractions à coût nul (zero cost abstractions).

    God mode

    • Le compilateur a des règles très strictes...
    • ... mais il est possible de contourner certaines règles.
    • Syntaxe spéciale pour autoriser les comportement potentiellement dangereux (unsafe).
    • Un guide pour bien vivre dangereusement https://doc.rust-lang.org/nomicon/.