Alessio Coltellacci | Devoxx

Alessio Coltellacci
Alessio Coltellacci Twitter

From Clever Cloud

Je suis développeur système et j'utilise principalement Rust comme langage au quotidien. Je m'intéresse à l'écriture d'application performante (notamment pour le jeu vidéo, 3D) et le développement au niveau du kernel Linux.

Blog: https://github.com/NotBad4U

lang Langages alternatifs

Atelier Rust

Hands-on Labs

Rust est un langage conçus pour la programmation système, tout en utilisant des constructions haut niveau. Il se focus sur:

  • performance: Un langage low level sans garbage collector mais pas de gestion mémoire manuelle.
  • productivité: Multi-paradigme, inférence des types, pattern matching, généricité, macro
  • sûreté: Eliminer des bugs liés à la mémoire pour être safe à runtime.

Rust s’est montré comme une bonne alternative pour construire des services systèmes, et remplacer les extensions natives en C de différents langages dynamiques par du code sûr et lisible. Et se place aujourd'hui comme le langage pour web assembly et pour la création de services web qui demande de la performance.

Venez découvrir Rust par vous-même avec des explications détaillées et des exercices pas-à-pas et concret.

NOTE IMPORTANTE ! Afin d'offrir la meilleure expérience pour tout le monde, il est nécessaire de venir avec un environnement prêt ! Pour cela, veuillez suivre les instructions ici : https://github.com/loganmzz/rust-installation

lang Langages alternatifs

Demain j'arrête le café, je me mets au crabe !

Conference

Le but étant de faciliter le démarrage sur le langage Rust pour des personnes utilisant des langages haut niveau comme Java/Js. Dans cette présentation nous découvrirons:

  • Le Langage (3 piliers)
    • Productivité : API fonctionnelle, pas de gestion manuelle de la mémoire sans GC, typage fort, inférence de type
    • Performance : Compilation native avec LLVM, ∅GC, langage bas niveau
    • Sûreté : sûreté de la mémoire, pas d’accès concurrent
  • Features présentées :
    • struct / trait / generics
    • ownership / borrowing / lifetime
    • memory guarantees : Box / Arc
    • macro
  • L'Écosystème :
    • IDE, tests, debugger, RLS
    • Build et packages manager (Cargo)
    • Librairies phares (Rayon, Rocket, Nom)
TBA : To be announced / Salle non affectée