Skip to content

Instantly share code, notes, and snippets.

@zzl0
Forked from noxasaxon/learning_rust.md
Created February 6, 2024 05:40
Show Gist options
  • Save zzl0/08f6a14c7054c5b8bea01c861ee57928 to your computer and use it in GitHub Desktop.
Save zzl0/08f6a14c7054c5b8bea01c861ee57928 to your computer and use it in GitHub Desktop.
Learn Rust!

Learning Rust

Getting Started + Installation | Cheat Sheet

Table of Contents

  1. How Do I Start Learning Rust?!
  2. Ok, I Think I Know The Basics But How Do I Get Better?!
  3. Rustlang Tooling
  4. Helpful References Throughout Your Journey
  5. The Rust Community
  6. Recommended (but not free) Books & Courses

How Do I Start Learning Rust?!

by Reading

  • The Book: start reading now, read it whenever you can, and don't worry if it takes a long time to get through. You will reference it for most of your time using Rust. or try the Rust Book with Quizzes

    Affectionately nicknamed “the book,” The Rust Programming Language will give you an overview of the language from first principles. You’ll build a few projects along the way, and by the end, you’ll have a solid grasp of the language.

  • Rust By Example: like 'The Book', with less docs and more sample code

    If reading multiple hundreds of pages about a language isn’t your style, then Rust By Example has you covered. While the book talks about code with a lot of words, RBE shows off a bunch of code, and keeps the talking to a minimum. It also includes exercises!"

  • (Blog) Mental Models for Learning Rust. (kerkour)
  • (Blog) A Half Hour to Learn Rust. (fasterthanlime)
  • (Blog Series) Learn Rust the Dangerous Way (cliffle) "Rust features in context for low-level C programmers"

    Existing Rust tutorials are great, but they focus on safe features. This companion tutorial takes an unsafe-first approach that may be more appealing for low-level systems programmers like me.

by Watching

by Doing

  • Tour of Rust: Step-by-step interactive walkthrough of Rust, all in your browser.
  • Rustlings: Rust by Example -style exercises you complete via your own local environment

    Alternatively, Rustlings guides you through downloading and setting up the Rust toolchain, and teaches you the basics of reading and writing Rust syntax, on the command line. It's an alternative to Rust by Example that works with your own environment.

  • Exercism.org: Work through examples in order from "hello world!" to advanced concepts like Doubly-linked lists. Do work in the browser or via your local environment using the exercism CLI, with progress reflected in the web app. Get mentorship and guidance from real people.

    We’re building a place where anyone can learn and master programming for free, without ever feeling lost or stupid. We're here to help everyone get really good at programming, regardless of their background. We want to share our love of programming, and help people upskill as part of their upward social mobility.

Ok, I Think I Know The Basics But How Do I Get Better?!

by Reading

by Watching

by Doing

  • whorl

    whorl was created to teach you how async executors work in Rust. It is not the fastest executor nor is it's API perfect, but it will teach you about them and how they work and where to get started if you wanted to make your own.

  • macrokata Learn macros over a set of exercises
  • TP-201: Practical Networked Applications in Rust

    A series of projects that incrementally develop a single Rust project from the ground up into a high-performance,

  • https://github.com/dpc/sniper

    Educational Rust implemenation of Auction Sniper from Growing Object-Oriented Software, Guided By Tests networked, parallel and asynchronous key/value store. Along the way various real-world Rust development subject matter are explored and discussed.

  • Learn Video Codecs by Implementing one in 100 lines of Rust

Rustlang Tooling

Helpful References Throughout Your Journey

The Rust Community

Recommended (but not free) Books & Courses

Beginner

Intermediate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment