Rust#
Rust is a multi-paradigm, general-purpose programming language. Rust emphasizes performance, type safety, and concurrency. Rust enforces memory safety—that is, that all references point to valid memory—without requiring the use of a garbage collector or reference counting present in other memory-safe languages. To simultaneously enforce memory safety and prevent concurrent data races, Rust’s borrow checker tracks the object lifetime and variable scope of all references in a program during compilation. Rust is popular for systems programming but also offers high-level features including functional programming constructs.
Read more on Wikipedia.
Official#
Sites#
- Rust ⭐
Documentation#
- Rust Book ⭐
- Rust By Example ⭐
- Rust Compiler Error Index
- The Cargo Book ⭐
- The Edition Guide
- The Rust Reference
- The Rust Standard Library ⭐
- The Rust Unstable Book
- The Rustonomicon
- The
rustc
book - The
rustdoc
book
Core#
- Chalk: An implementation and definition of the Rust trait system using a PROLOG-like logic solver
- Polonius: Defines the Rust borrow checker
Community#
Documentation#
Blogs#
Books#
- Asynchronous Programming in Rust
- Black Hat Rust
- Code Like a Pro in Rust
- Command Line Applications in Rust
- Comprehensive Rust ⭐
- High Assurance Rust
- Learning Rust With Entirely Too Many Linked Lists
- Programming Rust, 2nd Edition
- Refactoring to Rust
- Rust API Guidelines
- Rust Atomics and Locks
- Rust Cookbook ⭐
- Rust Design Patterns
- Rust and WebAssembly
- Rust for Rustaceans
- Rust in Action
- The Embedded Rust Book
- The Rust Performance Book
- The Rust Programming Language, 2nd Edition
- The Rust Rand Book
- Zero To Production In Rust
Courses#
Libraries#
faer
: A collection of crates that implement low level linear algebra routines in pure Rust- Kanal: Fastest sync and async channel that Rust deserves
log
: A lightweight logging facadenom
: Rust parser combinator framework- Serde: A framework for serializing and deserializing Rust data structures efficiently and generically ⭐
- Tokio: An asynchronous runtime for the Rust programming language ⭐
- Yew: A modern Rust framework for creating multi-threaded front-end web apps using WebAssembly
News#
Podcasts#
Sites#
- Are we (I)DE yet?
- Are we game yet
- Are we learning yet?
- Are we stack-efficient yet?
- Are we web yet?
- Blessed: An unofficial guide to the Rust ecosystem
- Design Patterns in Rust ⭐
- Rust Academy
- Rust Language Cheat Sheet ⭐
- Rust Magazine
- Rust Quiz
- RustRepo
- School of Rust
Tools#
cargo-c
: Build and install C-compatible librariescargo-careful
: Run your Rust code with extra careful debug checking- Prusti: A static verifier for Rust, based on the Viper verification infrastructure
- Rudra: Rust Memory Safety & Undefined Behavior Detection
Resources#
Text#
- A curated list of Rust code and resources ⭐
- Awesome Rust Books ⭐
- How to minimize Rust binary size ⭐
- Idiomatic Rust ⭐
- Learn X in Y minutes where X = Rust ⭐
- Not-Yet-Awesome Rust
- [2023] Is coding in Rust as bad as in C++? ⭐
- [2023] Rust: Not Just Zoom Zoom Fast
- [2022] 34 Must Know Terms for Embedded Rust Newbies
- [2022] 6 things you can do with the Cow in Rust ⭐
- [2022] A Better Way to Borrow in Rust: Stack Tokens
- [2022] A very small Rust binary indeed
- [2022] Basics of asynchronous Rust with Tokio
- [2022] Comparing Rust supply chain safety tools
- [2022] Hard Mode Rust
- [2022] Practical Parsing in Rust with
nom
- [2022] Rewriting the Modern Web in Rust
- [2022] Ten challenges for Rust
- [2022] What are Rust’s biggest weaknesses?
- [2022] Why Rust?
- [2021] From Python into Rust ⭐
- [2020] Revisiting a ‘smaller Rust’
- [2020] Why Discord is switching from Go to Rust ⭐
- [2019] Learn Rust the Dangerous Way
- [2019] Notes on a smaller Rust
- [2019] Thoughts on Rust after six months
- [2016] Elegant Library APIs in Rust
Video#
- No Boilerplate ⭐
- [2022] Boxes, Heaps, and Stacks