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
- Learn rust from official docs
- What do you think the best way to learn rust: reddit
- The rust programming language book
- Rust by example
- Rustlings: An alternative to ‘Rust By Example’ for learning syntax and concepts in your own environment.
🛠️ 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 #
- A guide to the unsafe aspects of Rust, also known as ’the ’nomicon’.
- Cargo book
- Familiarize yourself with the Rust compiler and its available options
- Understand in-depth the errors you may encounter from the Rust compiler
- Use Rust to build browser-native libraries through WebAssembly
🚀 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