Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 5.48 KB

README.md

File metadata and controls

65 lines (44 loc) · 5.48 KB

Learn Rust 🦀

Welcome to my Rust learning repository! This is where I document my journey of learning the Rust programming language, sharing the resources, projects, and insights I've gathered along the way. Whether you're a beginner or looking to deepen your understanding of Rust, I hope you'll find this repository useful 👩🏼‍💻✨

Main Resources

🦀 I decided to follow the interactive version of the Rust Book by Brown University

Videos I Recommend Watching Before You Begin 🤓

  1. How to Learn Rust
  2. What Makes Rust Different?
  3. 5 Things I Wish I Knew Before Learning Rust
  4. Rust in 100 Seconds
  5. Stack, Heap, and Static Memory
  6. Memory Management Strategies
  7. Rust makes you feel like a GENIUS

Useful Videos I Keep Going Back To

  1. Rust for the impatient

Sections (following The Book 📖)

1. Getting Started

🦀 If you plan to commit your progress to a single repository, I recommend adding a .gitignore file with **/target/ and **/Cargo.lock to your root directory.

2. Programming a Guessing Game

🦀 The Let's Get Rusty video is great for this section. I found it very helpful to have someone explain it. I watched the video first and coded along during the second watch. He also adds color which is a fun addition.

3. Common Programming Concepts

  • The Book 📖 - interactive version or original
  • Let's Get Rusty - Common Programming Concepts in Rust
  • Tech with Tim - Rust Tutorial #4 - Data Types
  • Rustlings - I completed the exercises in 01_variables, 02_functions, 03_if, and exercises 1, 2 and 3 in 04_primitive_types. I also completed the first quiz in the quizzes folder.
  • Practice - the Rust Book suggests building a program that can generate the nth Fibonacci number. I began with a Fibonacci in Rust demonstration and then worked with Claude AI to break it down and understand it better. I added a non-recursive function and a memoisation function using std::collections::HashMap, and then compared the time complexity of each using Rust's standard library's std::time::Instant.

🦀 For Data Types I found the Tech with Tim video helpful, along with the Let's Get Rusty video. I reccommend reading The Book too, as the videos do not cover everything.

4. Understanding Ownership

🦀 I began this section with the Tech with Tim Tuturial 9 video to get a better understanding of memory management.