Rust

Why learn rust ❓ #

  • Performance — Rust is used for building high-performance applications, making it valuable for tasks like gaming engines and operating systems. 🔒

  • Safety — The language is designed to provide memory safety and prevent common programming errors like null pointer dereferencing. 🔄

  • Concurrency — Rust supports concurrent execution, allowing multiple tasks to run in parallel without data races. 🪂

  • Versatility — Rust’s features make it suitable for a wide range of applications, from low-level system programming to web development. 📈

  • Career Growth — Learning Rust can open up opportunities and is a valuable skill in the tech industry.

  • Gaming — Rust’s performance benefits are particularly useful for developing gaming engines and other performance-critical applications. 🖥️

  • Operating Systems — The language is well-suited for building operating systems where performance is a key requirement. 💻

  • Web Assembly — Rust is increasingly used for web development, especially in the context of Web Assembly, due to its performance capabilities. 🌐

🎓 Take Away Skills #

After completing this learning path you will be able to:

  • Learn rust basics
  • Build projects in rust

🛠️ Prerequisites #

🧑🏻‍💻 Programming Knowledge #

Having basics of programming like,

  • what is programming
  • Interpreters, compilers…etc
  • Basic software engineering concepts like OOP is a must

📲 Installation and Setup #

  • A laptop windows/mac/linux is a must.
  • Windows — Install Rust on Windows by downloading and running the installer from the official website. 🪟
  • macOS — Use Homebrew or download and run the macOS installer from the official Rust website. 🍏
  • Linux — Install Rust on Linux using the package manager or download and run the installer from the official website. 🖥️

💡 Learning Session #

Basics of Rust 🦀. #

🎓 Topics to Learn

- Ownership — In Rust, ownership refers to the concept that only one variable can 'own' a piece of data at a time, and the owner is responsible for deallocating the data when it is no longer needed.
🤝
- Borrowing — Rust allows for the temporary borrowing of data by other variables, either as immutable borrows ('&') for reading or mutable borrows ('&mut') for both reading and writing.
🔄
- Ownership Transfer — Owned data can be transferred to other variables, after which the original owner can no longer access the data. ❗

Video tutorials

Articles/Blogs

🛠️ Get into action

  • Build Small Projects — Apply your knowledge by creating small projects, such as command line applications or web assembly libraries.🎮
  • ‘Advent of Code’ — Solve well-defined programming problems to practice Rust in a variety of contexts. 🧑‍💻
  • Exercism — Submit your code for review and feedback from mentors to enhance your learning experience. 🔧

🪄 Advanced learning #

🚀 Project Pool #

  • Beginner — Build CLI utilities, Todo List, Budget Manager, or Unit Converter. 🚀
  • Intermediate — Develop a Social Media Bot, Metered API Server, or a cargo package. 💡
  • Advanced — Build a game engine that can be used to build 2d games 🎮

Created with 💙 by Gopikrishan Sasikumar & TinkerHub