Skip to content

Instantly share code, notes, and snippets.

@zmilan
Forked from noxasaxon/learning_rust.md
Created February 28, 2023 20:06
Show Gist options
  • Save zmilan/f48eb23488025b21bc74ef59e1426381 to your computer and use it in GitHub Desktop.
Save zmilan/f48eb23488025b21bc74ef59e1426381 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.

  • Comprehensive Rust: From the Google Android team

    This is a four day Rust course developed by the Android team. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. It also includes Android-specific content on the last day. The goal of the course is to teach you Rust. We assume you don’t know anything about Rust and hope to: Give you a comprehensive understanding of the Rust syntax and language. Enable you to modify existing programs and write new programs in Rust. Show you common Rust idioms.

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.

  • 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