Exercism v3 launches on Sept 1st 2021. Learn more! 🚀🚀🚀

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

48 Mentors

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

36,845 Students

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

93 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

Exercism is a great website

What I like about it is that I am able to solve the challenges in a TDD way working in a environment that I am familiar (my own PC not a browser IDE) and the cherry on the top of the cake is that I have access to code reviews.

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 Paul Mabileau

Paul Mabileau https://github.com/PaulDance

My programming background mainly consists of Python, Java and C, but I also have dabbled in Scheme, OCaml and PHP. Lately, I have been sniffing plenty of Rust with the help of Exercism and some side projects. For me, Rust reunites the essentials: low-level concerns, efficient memory management and higher-level abstractions, so I really feel I have finally found my home there.
Avatar of Prateek Kumar

Prateek Kumar https://github.com/prateekkumarweb

I love Rust and JavaScript. Exploring WebAssembly in my free time.
Avatar of Nathan West

Nathan West https://github.com/Lucretiel

I've been a developer for well over a decade now, with a mastery of C++, Python, Javascript, and (recently) Rust. For someone who's always loved C++'s emphasis on zero-cost abstraction and RAII semantics, Rust has been a basically flawless expression of my own design sensibilities. I've always had a passion for helping & teaching others, so feel free to come to me with any Rust questions you might have.
Avatar of weihanglo

weihanglo https://github.com/weihanglo

Aim to use Rust and WebAssembly in my daily routines. Love Rust because of its passionate and welcoming community.
Avatar of Choon-Siang Lai

Choon-Siang Lai (note (code cslai))

Writes Javascript/ES and Python at work, discovered Rust and find it expressive despite being a system langauge. Would love to contribute back by mentoring.
Avatar of Zachary Dremann

Zachary Dremann https://github.com/Dr-Emann

It didn't take long for rust to become my favorite language, and I want to help others learn it, and love it like I do! I've been coding in rust since 2013, and it's been amazing seeing the language change and evolve over time, and become better and better.
Fun. Challenging. Interesting

Community-sourced Rust exercises

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

Minesweeper
medium
board state
Hamming
medium
option type
Largest Series Product
medium
higher order functions
windows
math
chars
result type
Wordy
medium
parsing
strings
operators
result type
Spiral Matrix
medium
matrix
nested structures
Book Store
medium
algorithms
groups
set theory
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 Oleksii Filonenko

Oleksii Filonenko

I love Rust for being strict, performant, ergonomic and enjoyable at the same time. After being a mentor for some time, I decided to be a maintainer. Looking forward to it!
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
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.

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

Join the Rust Track