RustProgramming

Plans:

  1. Understand writing the code 1.1) Writing basic flows (functions, loops, conditions, etc...) 1.2) Creating files and including them in other files
  2. Understanding the specialities in Rust 2.1) Ownership 2.2) References 2.3) Expressions 2.4) Error handling
  3. Traits, Crates and modules
  4. Structs, enums
  5. Conccurency
  6. Projects

Channels to follow: https://www.youtube.com/c/RustVideos

Modules to cover:

  1. Block chain (solana)
  2. Using Rust in cloud platform
  3. Important topics which encourages Embeded Engineers to shift from C/C++ to Rust programming

Interesting news:

Guidence from ChatGPT:**** That's fantastic! Transitioning to Rust with a strong background in Linux, C/C++, networking, and security will certainly be beneficial. Here's a roadmap to help you get started and gain experience in Rust:

Learn the Basics of Rust:

Start with the official Rust Book, which provides a comprehensive introduction to the language. It covers ownership, borrowing, lifetimes, and other core concepts. Build Simple Projects:

Create small projects to practice and reinforce your understanding of Rust. Simple command-line tools, utilities, or small networking-related projects are good starting points. Explore Ownership and Borrowing:

Rust's ownership system is a key feature. Practice working with ownership, borrowing, and lifetimes. Understand how they contribute to memory safety and eliminate common programming errors. Utilize Cargo:

Familiarize yourself with Cargo, Rust's package manager and build system. It simplifies dependency management, project setup, and compilation. Concurrency and Parallelism:

Explore Rust's concurrency model, which is built on ownership and borrowing. Learn about async/await for asynchronous programming. This can be particularly valuable given your background in networking. Interact with C/C++ Code:

Rust has excellent interoperability with C. You can integrate Rust code with existing C/C++ projects. Understand how to use Rust's Foreign Function Interface (FFI) to call C functions and vice versa. Web Development with Rust:

Explore web development in Rust using frameworks like Actix, Rocket, or warp. This can broaden your expertise and align with your existing skills. Explore Security Libraries:

Rust's focus on memory safety makes it well-suited for security-related tasks. Explore security-related libraries and frameworks in Rust. Examples include ring for cryptography or rustls for TLS. Contribute to Open Source:

Contribute to existing Rust projects on GitHub. It's a great way to learn from others, gain practical experience, and contribute to the Rust ecosystem. Attend Rust Meetups and Conferences:

Join the Rust community by attending local meetups, online forums, and conferences. Engaging with the community provides networking opportunities and access to valuable resources. Read Advanced Topics and Books:

Once you have a solid understanding of the basics, delve into advanced topics. Books like "Programming Rust" and "The Rust Programming Language" (official book) cover more advanced concepts. Apply Rust to Real Projects:

Consider using Rust for real-world projects. This could be a personal project or part of your professional work. Remember that learning a new programming language takes time and practice. The Rust community is supportive, and there are plenty of resources available. As someone with extensive experience, you'll likely find Rust's emphasis on safety, performance, and concurrency to be both challenging and rewarding. Good luck on your Rust journey!

Linking C code and calling in Rust program

https://www.youtube.com/watch?v=1H9FHhRntAk

Important links should have a look

https://www.youtube.com/watch?v=Dz6vcWnBODI