# Embedded Rust programming guide
Rust is new hence not many tutorials exist compared to C. When it comes to programming paradigms, unlike C, rust is a multi-paradigm programming language. Hence we can reuse all of the design patterns we currently use and introduce new ones, for example, object-oriented programming
Rust can be considered a shortcut. Instead of moving toward C++, we can directly move to Rust. But please note that Rust is not automotive grade yet. Autosar is [already working on it](https://www.autosar.org/news-events/details/autosar-investigates-how-the-programming-language-rust-could-be-applied-in-adaptive-platform-context/)
## Why Rust ?
This is well explained [here](https://medium.com/@sojan.james/the-case-for-using-rust-for-automotive-software-19400779f126) . In summary RUST is a memory safe programming language. Why it matter ? see this [notification from NSA](https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/)
## Beginners Guide
> Please skip if you already know the basics
[Rust Lang Workbook](https://doc.rust-lang.org/book/)
## Rust in embedded
[OpenTitan Project doc ](https://docs.opentitan.org/doc/ug/rust_for_c/)
## An embeddded driver in rust
> Although I am not a fan of this driver's design pattern, it is worth visiting :)
>
[BMS-280 driver](https://github.com/VersBinarii/bme280-rs)
## Kernel development
[Kernel development using RUST](https://not-matthias.github.io/posts/kernel-driver-with-rust/)