|
| 1 | +# 🦀 The Rust Starter Pack 🦀 |
| 2 | + |
| 3 | +Here are resources to help people learn the Rust programming language. |
| 4 | + |
| 5 | +## Official Rust resources |
| 6 | + |
| 7 | +- The [official Rust website](https://www.rust-lang.org/) |
| 8 | +- [The Rust Programming Language official book (2nd edition, 2018)](https://doc.rust-lang.org/book/2018-edition/index.html) |
| 9 | +- The official Rust website's [learning page](https://www.rust-lang.org/learn) |
| 10 | +- [The Rust Standard Library](https://doc.rust-lang.org/std/#the-rust-standard-library) |
| 11 | + |
| 12 | +## News & Blogs |
| 13 | + |
| 14 | +- [This Week in Rust](https://this-week-in-rust.org/): "Handpicked Rust updates, delivered to your inbox" |
| 15 | +- The official [main Rust blog](https://blog.rust-lang.org/): "The core team uses this blog to announce big developments in the world of Rust." |
| 16 | +- The official [Inside Rust blog](https://blog.rust-lang.org/inside-rust/index.html): "This blog is aimed at those who wish to follow along with Rust development. The various Rust teams and working groups use this blog to post status updates, calls for help, and other similar announcements." |
| 17 | +- [Read Rust](https://readrust.net/): "Read Rust collects interesting posts related to the Rust programming language." |
| 18 | + |
| 19 | +## Communities |
| 20 | + |
| 21 | +- The [Rust Users Forum](https://users.rust-lang.org/): "The Rust Users Forum is a place for Rust users to communicate about anything and everything related to Rust. Ask questions here, coordinate on project ideas, whatever you like!" |
| 22 | +- The [r/rust](https://www.reddit.com/r/rust/) subreddit |
| 23 | +- The [r/learnrust](https://www.reddit.com/r/learnrust/) subreddit |
| 24 | + |
| 25 | +## Learning |
| 26 | + |
| 27 | +### Books |
| 28 | + |
| 29 | +- O'Reilly - [Programming Rust](https://www.oreilly.com/library/view/programming-rust/9781491927274/) by Jim Blandy, Jason Orendorff |
| 30 | +- [Rust By Example](https://doc.rust-lang.org/rust-by-example/) |
| 31 | +- [Introduction to Rust Web Applications](https://erwabook.com/intro/index.html): "This book provides a taste of the full-stack, all-Rust approach to building web apps." |
| 32 | +- [Rust and Webassembly](https://rustwasm.github.io/docs/book/): "This small book describes how to use Rust and WebAssembly together." |
| 33 | +- [Fullstack Rust](https://www.newline.co/fullstack-rust): "The complete guide to building fast, production-ready Rust apps" |
| 34 | +- [Learn Rust With Entirely Too Many Linked Lists](https://cglab.ca/~abeinges/blah/too-many-lists/book/): "In this series I will teach you basic and advanced Rust programming entirely by having you implement 6 linked lists." |
| 35 | +- [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/) |
| 36 | +- [Zero To Production In Rust](https://www.zero2prod.com/): "An opinionated introduction to backend development in Rust" |
| 37 | + - (still incomplete, currently in early access as of January 2021) |
| 38 | +- [Hands-on Rust](https://pragprog.com/titles/hwrust/hands-on-rust/): "Effective Learning through 2D Game Development and Play" |
| 39 | +- [The Rustonomicon: The Dark Arts of Unsafe Rust](https://doc.rust-lang.org/nomicon/index.html) |
| 40 | +- [Rust Design Patterns](https://rust-unofficial.github.io/patterns/intro.html) |
| 41 | +- [The Rust Performance Book](https://nnethercote.github.io/perf-book/) |
| 42 | +- [Easy Rust](https://dhghomon.github.io/easy_rust/Chapter_1.html): A book attempting to explain Rust in simple English |
| 43 | +- [The Embedded Rust Book](https://rust-embedded.github.io/book/intro/index.html) |
| 44 | + |
| 45 | +### Courses |
| 46 | + |
| 47 | +- [Stanford CS 110L: Safety in Systems Programming](https://reberhardt.com/cs110l/spring-2020/) |
| 48 | +- [UPenn: CIS 198: Rust Programming - Spring 2016](https://cis198-2016s.github.io/) |
| 49 | +- [Rust In Motion](https://www.manning.com/livevideo/rust-in-motion) |
| 50 | +- [Dmitri Nesteruk - The Rust Programming Language](https://www.udemy.com/course/rust-lang/) |
| 51 | +- [Pluralsight - Rust Fundamentals](https://www.pluralsight.com/courses/rust-fundamentals): Pluralsight charges a monthly paid subscription. Check to see if your local public library or company provides subscriptions. |
| 52 | +- [Rust: The Basics](https://stepik.org/lesson/9268/step/1) |
| 53 | + |
| 54 | +### Guides |
| 55 | + |
| 56 | +- [Curated Rust](https://github.com/saidaspen/curatedrust): "This is a guided walkthrough of the resources that I used to learn Rust. It is being added to incrementally as I myself learn rust over the next couple of weeks and months." |
| 57 | +- [A Gentle Introduction to Rust](https://stevedonovan.github.io/rust-gentle-intro/) |
| 58 | +- [Learning Rust in 2020](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2020.md) |
| 59 | +- [py2rs](https://github.com/rochacbruno/py2rs): "From Python into Rust" |
| 60 | +- [Rust in 7 Programs](https://aml3.github.io/RustTutorial/) |
| 61 | +- [24 Days of Rust](https://zsiciarz.github.io/24daysofrust/book/vol1/) |
| 62 | +- [Introduction to Rust Tutorial](https://www.koderhq.com/tutorial/rust/) |
| 63 | +- [Roguelike Tutorial in Rust](https://jaredonline.svbtle.com/roguelike-tutorial-in-rust): How to make a roguelike computer game in Rust |
| 64 | +- [Writing an OS in Rust](https://os.phil-opp.com/) |
| 65 | + |
| 66 | +### Videos & Playlists |
| 67 | + |
| 68 | +- The [Official Rust Youtube channel](https://www.youtube.com/channel/UCaYhcUwRBNscFNUKTjgPFiA) |
| 69 | +- [Into Rust](http://intorust.com/): Screencasts for learning Rust |
| 70 | +- [Doug Milford's Rust tutorial playlist](https://www.youtube.com/watch?v=Az3jBd4xdF4&list=PLLqEtX6ql2EyPAZ1M2_C0GgVd4A-_L4_5): A quality video series teaching various aspects of Rust programming |
| 71 | +- [RustConf 2020](https://www.youtube.com/watch?v=IwPRu5FhfIQ&list=PL85XCvVPmGQijqvMcMBfYAwExx1eBu1Ei) |
| 72 | +- Reddit post - ["A list of some YouTube videos (free) that you can use to help get started"](https://www.reddit.com/r/learnrust/comments/f639yg/a_list_of_some_youtube_videos_free_that_you_can/) |
| 73 | +- [RustConf 2020 - Rust for Non-Systems Programmers by Rebecca Turner](https://www.youtube.com/watch?v=BBvcK_nXUEg) |
| 74 | +- [Ryan Levick - Introduction to Rust Part 1](https://www.youtube.com/watch?v=WnWGO-tLtLA) |
| 75 | + - and [Part 2](https://www.youtube.com/watch?v=lLWchWTUFOQ) |
| 76 | + - and [more of Ryan Levick's videos](https://www.youtube.com/channel/UCpeX4D-ArTrsqvhLapAHprQ/videos?view=0&sort=dd&shelf_id=1), mostly Rust |
| 77 | +- [Jon Gjengset's Rust videos](https://www.youtube.com/channel/UC_iD0xppBwwsrM9DegC5cQQ/videos): Longform videos, not aimed at beginners |
| 78 | +- [Jeff No Zhao - Rust Tutorials](https://www.youtube.com/playlist?list=PLkO5ggdQuRaaeFke7nWS4ajhFVZ1biE7_) |
| 79 | +- [dcode - Rust Programming Tutorial](https://www.youtube.com/watch?v=vOMJlQ5B-M0&list=PLVvjrrRCBy2JSHf9tGxGKJ-bYAN_uDCUL) |
| 80 | +- [Tensor Programming - Intro to Rustlang](https://www.youtube.com/watch?v=EYqceb2AnkU&list=PLJbE2Yu2zumDF6BX6_RdPisRVHgzV02NW) |
| 81 | +- [Tensor Programming - Rustlang Projects](https://www.youtube.com/watch?v=-Jp7sabBCp4&list=PLJbE2Yu2zumDD5vy2BuSHvFZU0a6RDmgb) |
| 82 | +- [Microsoft Reactor - Rust](https://www.youtube.com/watch?v=w3s_2Pl1x2E) |
| 83 | +- [YouCodeThings - Rust Videos](https://www.youtube.com/playlist?list=PLVT0QN6kDrbd3KZr4EkBNvjSDTaZyxwhM) |
| 84 | +- [Engineer Man - Rust Videos](https://www.youtube.com/playlist?list=PLlcnQQJK8SUjApd95LIcd3K9XXmE-IeCS) |
| 85 | +- [Ryan Levick](https://www.youtube.com/channel/UCpeX4D-ArTrsqvhLapAHprQ/videos): Streaming programming videos |
| 86 | +- [Microsoft Developer - All About Rust](https://www.youtube.com/watch?v=FYGS2q1bljE) |
| 87 | +- [J M Archer - Rustlang screencasts](https://www.youtube.com/playlist?list=PLTOeCUgrkpMNEHx6j0vCH0cuyAIVZadnc) |
| 88 | +- [Derek Bananas - Rust tutorial](https://www.youtube.com/watch?v=U1EFgCNLDB8) |
| 89 | +- [Traversy Media - Rust Crash Course | Rustlang](https://www.youtube.com/watch?v=zF34dRivLOw) |
| 90 | +- [Chris Hawkes - Learn Rust Programming In 1 Video](https://www.youtube.com/watch?v=KDn_j48yoAo) |
| 91 | +- [Gary Explains - 12 Things to Help You Learn Rust](https://www.youtube.com/watch?v=a8abW3RlOn8) |
| 92 | +- [Modulator crate and Play app](https://www.youtube.com/watch?v=n-txrCMvdms): "An introduction to the Modulator crate and its playground/testbed application Modulator Play." |
| 93 | + |
| 94 | +### Podcasts |
| 95 | + |
| 96 | +- The [New Rustacean](https://newrustacean.com/): A terrific podcast covering one Rust topic per episode as the host learns Rust |
| 97 | + |
| 98 | +### Exercises & Practice |
| 99 | + |
| 100 | +- [Rustlings](https://github.com/rust-lang/rustlings/) |
| 101 | +- [Exercism - Rust](https://exercism.io/tracks/rust) |
| 102 | +- [Advent of Code](https://adventofcode.com/): Language-agnostic programming challenges that can be done in Rust |
| 103 | +- [Project Euler](https://projecteuler.net/): Language-agnostic programming challenges focused mostly on math problems |
| 104 | +- [Rust Practise Questions](https://github.com/sn99/rust-practise-questions) |
| 105 | +- [The r/dailyprogrammer subreddit](https://www.reddit.com/r/dailyprogrammer/) |
| 106 | + |
| 107 | +## Conferences & Events |
| 108 | + |
| 109 | +- [RustConf](https://rustconf.com/): "RustConf is an annual (and sometimes virtual) gathering of global Rust developers." |
| 110 | + - RustConfig videos of the year's talks are available [here](https://rustconf.com/talks) |
| 111 | +- [RustFest Global](https://rustfest.global/): "RustFest Global is a Rust community conference. Sessions will be streamed online in three time zones across the globe — join live or re-watch the talks anytime you want!" |
| 112 | +- [Rust Community Calendar](https://calendar.google.com/calendar/u/0/embed?src=apd9vmbc22egenmtu5l6c5jbfc@group.calendar.google.com&pli=1) |
| 113 | +- [RustLab 2020](https://www.rustlab.it/) |
| 114 | + |
| 115 | +## Articles |
| 116 | + |
| 117 | +- [Rust Anthology Master List](https://github.com/brson/rust-anthology/blob/master/master-list.md): "This is a collection of substantial blog posts about Rust." |
| 118 | + - This one is the motherload! There are a ton of good blog posts collected here. |
| 119 | +- [Rust Survey 2020 Results](https://blog.rust-lang.org/2020/12/16/rust-survey-2020.html) |
| 120 | +- [A half-hour to learn Rust](https://fasterthanli.me/articles/a-half-hour-to-learn-rust) |
| 121 | +- [Clear explanation of Rust’s module system](http://www.sheshbabu.com/posts/rust-module-system/) |
| 122 | + - [Learn Rust With Benford's Law](https://gliderkite.github.io/posts/learn-rust-with-benford/) |
| 123 | + |
| 124 | +- [Rust 2021: Lower the barriers](https://blog.nindalf.com/posts/rust-2021/) |
| 125 | +- [Frustrated? It's not you, it's Rust](https://fasterthanli.me/articles/frustrated-its-not-you-its-rust) |
| 126 | + |
| 127 | +## Are we X yet? |
| 128 | + |
| 129 | +- [AreWeRustYet](https://github.com/UgurcanAkkok/AreWeRustYet): "A curated Awesome list of websites that tracks the state of Rust in related areas" |
| 130 | +- [AreWeWebYet](https://www.arewewebyet.org/) |
| 131 | + |
| 132 | +## References |
| 133 | + |
| 134 | +- [Awesome Rust](https://github.com/rust-unofficial/awesome-rust) by rust-unofficial |
| 135 | +- [awesome-rust.com](https://awesome-rust.com/) |
| 136 | +- [Rust LibHunt](https://rust.libhunt.com/) |
| 137 | +- [rust-learning](https://github.com/ctjhoa/rust-learning): "A bunch of links to blog posts, articles, videos, etc for learning Rust." |
| 138 | +- [Not-Yet-Awesome-Rust](https://github.com/not-yet-awesome-rust/not-yet-awesome-rust): "An (unofficial) sub-community of the Rust programming language that wants to close gaps you feel in Rust's ecosystem." |
| 139 | +- [Awesome Rust Testing](https://github.com/hoodie/awesome-rust-testing) |
| 140 | +- [Awesome Cryptography Rust](https://github.com/rust-cc/awesome-cryptography-rust): "Collect libraries and packages about cryptography in Rust." |
| 141 | +- [Steadylearner's Rust-Full-Stack](https://github.com/steadylearner/Rust-Full-Stack): A repo containing various Rust-related links |
| 142 | + - Also, see Steadylearner's related [blog](https://www.steadylearner.com/blog) |
| 143 | + |
| 144 | +## Crates |
| 145 | + |
| 146 | +- https://crates.io/crates/log |
| 147 | +- https://crates.io/crates/rand |
| 148 | +- https://crates.io/crates/chrono |
| 149 | +- https://crates.io/crates/time |
| 150 | +- https://crates.io/crates/itoa |
| 151 | +- https://crates.io/crates/smallvec |
| 152 | +- https://crates.io/crates/num-integer |
| 153 | +- https://crates.io/crates/url |
| 154 | +- https://crates.io/crates/futures |
| 155 | +- https://crates.io/crates/ansi_term |
| 156 | +- https://crates.io/crates/ryu |
| 157 | +- https://crates.io/crates/crossbeam-utils |
| 158 | +- https://crates.io/crates/generic-array |
| 159 | +- https://crates.io/crates/strsim |
| 160 | +- https://crates.io/crates/chrono |
| 161 | +- https://crates.io/crates/clap |
| 162 | +- https://crates.io/crates/reqwest |
| 163 | +- https://crates.io/crates/serde |
| 164 | +- https://crates.io/crates/serde_derive |
| 165 | +- https://crates.io/crates/serde_json |
| 166 | +- https://crates.io/crates/syn |
| 167 | +- https://crates.io/crates/proc-macro2 |
| 168 | +- https://crates.io/crates/quote |
| 169 | +- https://crates.io/crates/base64 |
| 170 | +- https://crates.io/crates/rand_chacha |
| 171 | +- https://crates.io/crates/num-traits |
| 172 | +- https://crates.io/crates/regex |
| 173 | +- https://crates.io/crates/regex-syntax |
| 174 | +- [https://crates.io/crates/cratetorrent](Cratetorrent): Implements the BitTorrent version 1 protocol |
| 175 | + |
| 176 | +## Rust frameworks & tools |
| 177 | + |
| 178 | +- [Tokio](https://github.com/tokio-rs/tokio): "Tokio is an asynchronous runtime for the Rust programming language. It provides the building blocks needed for writing network applications. It gives the flexibility to target a wide range of systems, from large servers with dozens of cores to small embedded devices." |
| 179 | +- [Yew](https://yew.rs/docs/en/): Yew is a modern Rust framework for creating multi-threaded front-end web apps with WebAssembly. |
| 180 | + |
| 181 | +## Rust-based projects |
| 182 | + |
| 183 | +- [Inciteful](https://inciteful.xyz/): Inciteful builds a network of academic papers based on a topic of your choice and then analyzes the network to help you find the most relevant literature. |
| 184 | + |
| 185 | +## Rust-based terminal programs |
| 186 | + |
| 187 | +- [My terminal became more Rusty](https://dev.to/22mahmoud/my-terminal-became-more-rusty-4g8l) |
| 188 | + - Rust terminal tools |
| 189 | + |
| 190 | +## Webassembly (WASM) |
| 191 | + |
| 192 | +Not technically Rust, but Webassembly is closely tied to Rust |
| 193 | + |
| 194 | +- [Wasmer](https://wasmer.io/): The Universal WebAssembly Runtime |
0 commit comments