WHEN TO RUST
A discussion about the rust programming language
1
WHAT WE WILL TALK ABOUT
Brief history of rust
Strengths of rust
When to use rust
2
HISTORY
2006 personal project
Probably named a er fungus (author doesn't
remember)
Mozilla sponsored in 2009
1.0 in 2012
Sponsored for servo, made for safety
3
STRENGTHS
4
SAFETY
Memory safe
Data race safe
5 . 1
MEMORY SAFETY
Doesn't memory leak( )
No use a er free
No buffer overflow
No double free
No null derefrencing
example: , ,
sort of...
1 2 3
5 . 2
DATA RACE SAFETY
Mutable shared state only accessable by one thread
at a time
Doesn't prevent deadlocks or double access
problems (not perfect)
5 . 3
GREAT TOOLS
Cargo - Package manager
Clippy - Code linting
rustfmt - Code formatting
rls + racer - IDE hints (code completion, refactoring)
6
GREAT DOCUMENTATION
Intro book
API docs
Rustonomicon (dark arts)
7
STABILITY
Crater - Test future compiler changes against the
current ecosystem
Nightly, Beta, Stable releases
Stability as a Deliverable
8
MOVES FAST
Open RFC process allows new features to come from
6 week releases allows features to flow into the
language quickly
Stability guarentees keeps new features from
breaking old code
anywhere
9
RUST, HUH, WHAT IS IT GOOD
FOR
(ABSOLUTELY SOMETHING)
10
BROWSERS!
11 . 1
WEB SERVERS!
11 . 2
PACKAGE MANAGERS
SERVERS!
11 . 3
ANYWHERE!
Rust is young and powerful
For predictability, it can't be beat!
11 . 4
QUESTIONS?
12

When to rust