presentation-rust-introduction/rust-intro.org
finga 9ced692aa8 Basic structure and first slides
Create a basic structure and add the first slides about Rust in
general.
2021-09-02 15:15:48 +02:00

4.2 KiB

∈cludesvg[height=.25\textheight]{img/rust-logo-blk}≠wline An introduction to Rust

Rust

Abstract

#+LaTeX:∈cludegraphics[width = 0.5\textwidth]{img/Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg} 2

Rust, the language

  • A bit more than 10 years old (2010)
  • Memory safe without gcing, optional ref counting
  • Ownership, lifetimes, traits, functional paradigms
  • Variables are immutable by default and can be shadowed
  • Performance of idiomatic Rust is comparable to the performance of idiomatic C++
  • A well designed language and ecosystem

Strengths and Weaknesses1

Things Rust does measurably really well

Strengths and Weaknesses1

Points you might run into

  • Steep learning curve4 compiler enforcing (esp. memory) rules that would be "best practices" elsewhere.
  • Missing Rust-native libs in some domains, target platforms (esp. embedded), IDE features.4
  • Longer compile times than "similar" code in other languages.45
  • No formal language specification, can prevent legal use in some domains (aviation, medical, …).6
  • Careless (use of unsafe in) libraries can secretly break safety guarantees.

Cargo

Cargo

/finga/presentation-rust-introduction/media/commit/9ced692aa81d410da85c198ff8ee46d5d27ac409/img/cargo.png

What is it?

  • Package manager
  • Build tool

Setup

Hands on

IDE support

Cargo plugins

WebDev

Embedded

(Standard?) crates

Further information

Footnotes