Skip to content

Rust pour les développeurs Java #29

@magnet

Description

@magnet

Rust pour les développeurs Java

Speaker

Simon Chemouil, un développeur freelance, qui a passé les 10 dernières années à développer en Java et à se spécialiser sur la JVM, et qui a émigré vers Rust il y a 6 mois.

Description

Rust, tout comme Java, est né de l'objectif de proposer une alternative sûre à C++ (à l'exécution et pour la santé mentale des développeurs :hurtrealbad: ), mais avec une approche radicalement différente: du côté de Java, la sûreté résulte de la VM et de son Garbage Collector, alors que Rust est le premier langage mainstream à proposer un mécanisme sûr de gestion automatique de la mémoire "compile-time", tout en générant des binaires natifs. Le Rust atteint ainsi la performance de C/C++ sans les risques associés.

Dans cette présentation, il sera question de présenter Rust en partant de Java, en comparant le modèle mémoire, les primitives de design, la gestion des erreurs et le multi-threading.

Après une brève présentation "Rust par rapport à Java", où principalement seront comparés le GC de Java et le borrow checker de Rust (10 slides, ~20 mins), on ira tout droit dans le code en portant du code écrit en Java vers Rust, en comparant les points forts des deux langages.

Il s'agit d'un talk d'introduction, modérément technique, le code Java qui sera porté sera trivial (aucun framework, mais multi-threadé), et promis à la fin Duke et Ferris vont pas se taper dessus ☕ ❤️ 🦀

Informations diverses

  • Connaissances requises: Java, le GC, le multi-threading en Java (API Thread, synchronized et ConcurrentHashMap)
  • Niveau de difficulté : progressif 🤣
  • Durée : 1h ± 5 minutes
  • Format : 20mins slides || 40 ±5mins live-coding
  • Dispo ou indispo : dès que possible, pas entre le 1 et le 15 avril, de préférence avant l'été

Metadata

Metadata

Assignees

No one assigned

    Labels

    LanguageJava, Kotlin, Scala, Clojure, Eta, etc. Also non-JVM langs, but not JavaScript 👻

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions