* Network Services
* Command-line Apps
* Web Apps
* Desktop Apps
* Bootloaders
* Device Drivers
* Hypervisors
* Embedded Systems
* Libraries/plugins for applications in other languages
---
## Front-end or Back-end?
It's applicable at *every point* in the stack!
---
## The Three Words
- Safety
- Performance
- Productivity
---
## It's increasingly popular!
[Stack Overflow Survey 2023](https://survey.stackoverflow.co/2023/#technology-admired-and-desired):
> Rust is on its eighth year as the most ~~loved~~ *admired* language with 85% of developers saying they want to
> continue using it.
Note:
Stack Overflow used to use the term *most loved*, which Rust won seven years in a row. In 2023 they changed the terms to
*desired* and *admired*. Rust was the *most admired* language in 2023.
---
## Cross-platform
* Windows, macOS, Linux
* iOS, Android, Web, QNX, Bare-metal, etc
---
## Portable
* Source code is portable across multiple architectures:
* x86, RISC-V and Arm
* Power, MIPS, SPARC, ...
---
## Rust can *import* C-compatible libraries
Want to use `zlib`, `OpenSSL`, `SomeSpecialDriverLib`? Sure!
---
## Rust can *export* C-compatible libraries
* Python extension modules? [Ok!](https://crates.io/crates/arrow)
* Android native libraries? [No problem.](https://cs.android.com/android/platform/superproject/main/+/main:packages/modules/DnsResolver/doh/encoding.rs)
* Replace the file parser in your Very Large C++ Application? [Can-do.](https://wiki.mozilla.org/Oxidation)
---
## Where did Rust come from?
---
## A Little Bit of History
* Rust began around 2008
* An experimental project by [Graydon Hoare](https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/)
* Adopted by Mozilla
* Presented to the general public as version 0.4 in 2012
---
## Focus
* Rust lost many features from 2012 to 2014
* garbage collector
* evented runtime
* complex error handling
* etc
* Rust oriented itself towards being a usable systems programming language
---
## Development
* Always together with a larger project (e.g. Servo)
* Early adoption of regular releases
* RFC process
* Editions
---
## Public Release
* First 1.0 release in 2015
*