Rust

Join the Rust Track
Rust is a compiled programming language designed for speed, concurrency, and memory safety. Rust programs can run almost anywhere, from low-power embedded devices to web servers.
Join the Rust Track
Track mentors

39 Mentors

Our mentors are friendly, experienced Rust developers who will help teach you new techniques and tricks.
Track students

17,953 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

92 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Rust

pub fn hello() -> &'static str {
    "Hello, World!"
}

Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. It aims to bring modern language design and an advanced type system to systems programming. Rust does not use a garbage collector, using advanced static analysis to provide deterministic drops instead. It accomplishes this via the concept of ownership.

Rust's core and the standard library are intentionally minimal; batteries are not included. Rustaceans are instead encouraged to add libraries, called crates, to the language by sharing them on crates.io.

Rust is most frequently used for applications where speed, performance and stability are essential. The Awesome Rust list collects examples of Rust projects, which include CLI tools, ORMs, operating systems and games. Regardless of what you build in Rust, it will be fast and memory safe!

The home page for Rust is rust-lang.org. Rust has excellent documentation at rust-lang.org/documentation.html. Newcomers should start with "The Book" located at doc.rust-lang.org/book/.

Join the Rust track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the Rust Track mentors

Once you join the Rust language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Ludwig Stecher

Ludwig Stecher https://github.com/Aloso

I study IT in Bavaria, Germany. Rust is one of my favourite languages because of its expressive type system, its strong safety guarantees and good WASM support. I also code a lot in Java, Kotlin, JS and Typescript.
Avatar of Karthik Deepak Natraj

Karthik Deepak Natraj https://github.com/karbfg10k

I love Rust and C and use them at my day job in automotive. I work with Embedded software but I'm also reasonably familiar with systems programming as well
Avatar of Florian Gilcher

Florian Gilcher Yakshaves, my personal snippet space

I'm a Rustacean since 5 years and member of the Rust project. I lead the events team and contirbute to the community team. I own a Rust company. I train Rust professionally, but still got a lot to learn.
Avatar of James Lao

James Lao James' blog

I write mostly C# professionally, but I have a passion for functional programming and lately Rust. I look forward to helping you anyway I can!
Avatar of Yilkal Argaw

Yilkal Argaw https://github.com/yilkalargaw

An enthusiastic programmer who enjoys to explore various aspects of the computer industry. Worked on areas ranging from ASIC & FPGA based hardware design to Software Development in softwares like ruby, C, C++, perl,scheme, common-lisp and rust.
Avatar of Michael Morehouse

Michael Morehouse https://github.com/yawpitch

Long-term programmer and pipline developer in the Visual Effects (VFX) community; recently decided it was time to make a change in life and become a polyglot; while Python remains my industry's go-to language, Rust, Go, and others are nipping at the heals, and I've never learned better than by helping others lean.
Fun. Challenging. Interesting

Community-sourced Rust exercises

These are a few of the 92 exercises on the Rust track. You can see all the exercises here.

Simple Linked List
medium
lists
type conversion
structs
Parallel Letter Frequency
hard
multi threading
Accumulate
medium
generics
higher order functions
move semantics
Scale Generator
medium
enums
from primitive
music theory
to primitive
traits
Difference Of Squares
easy
fold
map
math
Protein Translation
medium
lifetimes
hashmaps
result type
structs
Passionate. Knowledgeable. Creative.

Meet the Rust Track maintainers

The Rust Maintainers are the brains behind the Rust Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Meade Kincke

Meade Kincke Code Artistry

I love real-world, usable examples. I'm a huge fan of being able to help others to make something work how it should with maximum performance. I especially love Rust and have written a tool called BrewStillery in it and GTK-rs.
Avatar of Peter Goodspeed-Niklaus

Peter Goodspeed-Niklaus

definitely not an ai gone rogue
Avatar of Peter Tseng

Peter Tseng

"Break glass in case of emergency" maintainer

Get started with the Rust track. As with everything on Exercism, it's 100% free!

Join the Rust Track