Starting day 2 at #NDCOslo with a gentle introduction to Rust from @swissgathu
Rust has been around for almost 15 years, and v1.0 was released 4 years ago
Aims to be a concurrent and safe systems-level programming language
Immutable by default. Origins in functional programming
Open source. Development driven by RFCs and community consensus
Ensure thread-safety - aims to eliminate race conditions, deadlocks
Avoid unsafe access to memory and associated issues - buffer overread (e.g. Heartbleed), use-after-free etc, but without the performance cost of higher level languages
Performance in line with C/C++
No runtime, garbage collector, JIT compiler or other overheads
Zero cost abstractions - expressive syntax is compiled down to low-level primitives
Each value has only one owner at a time. Ownership can be transferred
When the owner goes out of scope, the value will also be destroyed
Only one mutable reference to a value, but can have many immutable references
Compiler gives a lot of hints around borrowing scope and why code will not compile
Smart pointers provide reference counting
Message passing allows cross-thread communications
Rust uses a 1:1 mapping with OS threads - no green threads etc
Async/await is new functionality and not yet stable
Macros used for metaprogramming
Traits are used to define behaviour independent of types
Trait behaviour can be overridden for individual types
Dev tools - rust-clippy (linter), rustfix (migrates old Rust to the 2018 release), rustfmt (automatic code formatting)
Unit testing support out of the box
Package registry (crates.io)
Growing community with meetups, conferences etc
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Ben Owen @ #NDCOslo 🇧🇻
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!