Skip to content

Rust Resources

Rust is a powerful programming language that has gained popularity among developers in recent years due to its performance, safety, and concurrency features. We use Rust in this class to for our quarter-long project - CrustyDB - and we will be implementing portions of the DB system using this language. You will need to get upto speed with Rust fairly quickly to complete the project - hence, we have a Rust primer assigned in Week 1. Apart from the primer, here are are a few resources we recommend for learning Rust:

  1. The Rust Guideā„¢ - Authored by various members of the course staff over many years, the guide is a great resource to get up to speed with specific Rust langauge features quickly (targetted towards the essential features for CrustyDB).
  2. The Rust Programming Language - The "official" Rust guide and the primary language reference
  3. Rustlings - Small, interactive rust exercises that you can run to test your rust knowledge
  4. Rust Playground - An online rust compiler/IDE that allows you to work with Rust.

Setting up your Rust Development Environment

You will need to install the rust toolchain for your environment. If you are using windows, we recommend installing and using the Windows Subsystem for Linux and following the instructions to install and run Rust using the Linux terminal in windows.

VSCode is highly recommended to have a smoother code writing, testing and debugging experience. The recommended extensions for Rust in VSCode are the following:

  1. rust-analyser - Provides code highliting, navigation and live compiler warnings.
  2. CodeLLDB - A rust debugger that allows you to set up breakpoints, and inspect stack frames and variables.

Please visit the instructor or TA office hours if you are having trouble getting your environment ready.

Warning

You must disable Github Copilot and other Generative/Agentic programming systems when working on this course. Please see our Generative AI Policy page for more details.