Rust is a new programming language that has caught the attention of the programming world. It builds upon the downsides of C/C++ while offering similar or fast execution speeds. And that’s why it topped StackOverflow’s Developer Survey for 7 consecutive years!
All of these have indeed caught your attention. And, now, you want to learn Rust. That’s a good call, considering the job market for Rust developers looks promising. To help you in your quest, I’ll list the best resources to learn Rust, covering courses, books, and blogs.
Let’s get started.
What Makes Rust Special, and Why Should You Learn It?
Rust came out in 2015. It slowly started capturing companies’ and developers’ attention. The core reasons it has become so popular include:
- because it is fast,
- it has a strict memory-safe design,
- and high-performance concurrency support.
From a comparison viewpoint, Rust is a high-level programming language similar to Python, offering C/C++ level performance, enabling developers to create fast and secure applications. In short, its zero-key abstraction allows developers to access low-level memory with high-level programming concepts.
However, the one thing that makes Rust so remarkable is its ownership and borrowing model. It lets developers follow a strict model of thinking and execution, leading to bug-free code. Simply put, the compiler ensures all bugs are fixed before the code can run, providing memory and thread safety.
On the market front, Rust also looks special. Let’s look at some of the interesting facts about Rust.
- Rust junior developer salaries start from $60K per annum.
- On average, Rust developers get paid $120K per annum.
- The number goes as high as $140K per annum for senior developers.
- Rust’s market has grown aggressively recently with healthy demand for Rust developers.
Overall, if you choose Rust as your primary programming language, you have made the right decision.
Are you still trying to understand the importance of Rust? Then, check out Reasons to Use Rust for Your Next Development Project.
Best Place To Start: Rust Core Documentation, The Book, And the Rustings Course
Rust Core Documentation
If you’re starting with Rust, you’ll find the Rust documentation the best place to start. It is available on the official Rust site. The rich documentation covers almost everything you’ll encounter when working with Rust. However, it doesn’t provide a learning path. For that, you’ll need to use their official book and course.
Rust Programming Language Book
The excellent Rust book is nicknamed “the book” and is the best Rust Programming language book out there. It covers Rust in extensive detail, covering every technical aspect of Rust programming language, including Rust’s basics, ownership and borrowing model, complete guide on how to manage projects & packages, and other advanced Rust topics, including error handling, automated testing, unsafe Rust, macros, and functional language programming. The book also covers a few projects, including the famous, Hello, World project, an interesting I/O project, and a final project where you build a multi-threaded Web Server.
Also, check out Rust by Example, which lists Rust examples that example different Rust concepts — making it an excellent source for beginners.
Rust Course by GitHub
Lastly, you have the Rust course. It is well-designed and primarily aimed at beginners. Here, you’ll learn the basics of Rust syntax, how to set up a toolchain, and more.
All these resources pave the path for you to become a Rustaceans (the internet word for people who use Rust).
Beginner Rust Programming
Beginner Rust Programming is a beginner-friendly Rust book. Ricc Messier covers the basic Rust concepts and real-world practical examples in this book. He covers the nitty-gritty of Rust programming language, including its own model and rich type system. This way, you’ll learn how to create memory and thread-safe apps. The book also teaches you to work with embedded systems.
Preview | Product | Rating | |
---|---|---|---|
Beginning Rust Programming | Buy on Amazon |
All of these make Beginner Rust Programming an ideal pick if you have some basic C/C++ knowledge, even for beginners starting with programming.
Programming WebAssembly With Rust
Programming WebAssembly With Rust is an impressive take on how to use Rust to create Internet web apps.
Preview | Product | Rating | |
---|---|---|---|
Programming WebAssembly with Rust: Unified Development for Web, Mobile, and Embedded Applications | Buy on Amazon |
WebAssembly is a low-level language that runs on modern browsers. And by learning how to use Rust with WebAssembly, you can create fast web apps that offer native performance while running on the browser.
In the book, you learn which toolset and how to use them. Moreover, you also learn how to integrate your Rust code into JavaScript. Apart from that, you get to know every basic of WebAssemly, covering how it works, its integration, and how to use it to create fast web apps.
However, only pick this book if you’re already familiar with Rust and want to get it working with WebAssembly. If you’re an absolute beginner, this book is not for you.
Rust in Action
As the book name suggests, Rust in Action is a practical take on the Rust programming language. It is well-written and ideal for beginners and experienced Rust programmers.
Preview | Product | Rating | |
---|---|---|---|
Rust in Action | Buy on Amazon |
It explores the Rust language through examples and teaches you about computers. For instance, you’ll learn and work with memory, networking, persistent storage, and CPU instructions here.
Apart from these, the book also covers topics such as concurrent and parallel programming, giving you the tools to write fast, multi-threaded code. The book is an excellent pick if you’re looking for practical systems programming and elementary to advanced Rust programming.
The book is ideal for intermediate learners.
Programming Rust
Rust is known for its ability to work on systems programming. And the book Programming Rust by Jim and Jason teaches you everything about system programming with Rust. Once you complete the book, you can write reliable and fast solutions.
Preview | Product | Rating | |
---|---|---|---|
Programming Rust: Fast, Safe Systems Development | Buy on Amazon |
Jim and Jason know that Rust lets programmers write error-free code, and they show it through examples in the book — providing a precise connection between safety and performance.
The book starts with Rust fundamentals and then moves to writing efficient, flexible code. Next, it covers multi-threaded code and teaches you how to use Rust’s essential power tools, such as iterators, closures, and asynchronous programming.
Hands-on Rust
Hands-on Rust is my favorite Rust book. It invites the readers to learn Rust basics, especially for those already familiar with C and C++ programming languages. And it explains the topics with practical projects that range from the simple “Hello, World” program to a full dungeon crawler game.
Preview | Product | Rating | |
---|---|---|---|
Hands-on Rust: Effective Learning through 2D Game Development and Play | Buy on Amazon |
However, the book’s biggest selling point is that it teaches you essential game development skills that you can use with popular game engines, including Unity and Unreal. It also covers Rust topics, including concurrency, memory safety, etc.
In short, pick up Hands-on Rust if you want to use it in game development. It offers practical examples so you can prepare to make your own game!
Rust Web Programming
Rust Web Programming by Maxwell Flitton teaches you how to create web applications using Rust. It uses Rust programming language to build high-performance and secure web apps with other web technology such as Terraform, AWS deployment, and distro-less Rust servers.
Preview | Product | Rating | |
---|---|---|---|
Rust Web Programming – Second Edition: A hands-on guide to developing, packaging, and deploying… | Buy on Amazon |
The book also covers practical examples of Rust web frameworks, including Hyper, Rocket, and Actrix. The practical examples include creating a basic to-do list web app with scalable Rust, managing authentication, working with distro-less Rust servers, building on AWS, and much more.
The book primarily aims at web developers who want to dive deep into Rust programming for the Web.
Rust for Rustaceans
Rust for Rustaceans is one of the best books to level up your Rust skills. The book aims at programmers who already know Rust but want to learn how to build and maintain larger code bases, manage complex projects successfully, and write powerful apps and libraries.
Preview | Product | Rating | |
---|---|---|---|
Rust for Rustaceans: Idiomatic Programming for Experienced Developers | Buy on Amazon |
To teach you all these, the book covers traits, ownership, unsafe code, and concurrency. You’ll also learn to design reliable, ergonomic, and idiomatic Rust programs. It also covers asynchronous in Rust, declarative, and procedural macros.
The Rust Programming Language
The Rust Programming Language book by the Rust Core Team’s alumni, Carol and Steve, is one of the popular Rust books. At the time of writing, it has sold more than 50,000 copies. And the main reason is that it gives you practical knowledge on creating scalable and reliable software.
Preview | Product | Rating | |
---|---|---|---|
The Rust Programming Language, 2nd Edition | Buy on Amazon |
The book starts with the basics, where you learn how to work with data types, functions, and variables. Once you’re comfortable with these basic concepts, the authors discuss advanced concepts, including ownership, borrowing, traits, generics, smart pointers, multithreading, and many more. It also covers Cargo and how you can use it to build and manage your project.
Learn Rust by Building Real Applications
Udemy’s Learn Rust by Building Real Applications is one of the best Rust courses. It covers Rust fundamentals, low-level memory management, techniques to troubleshoot compiler errors, and memory safety.
The course spans over 6.5 hours and offers a certificate of completion.
Rust Fundamentals
Rust Fundamentals is a beginner-friendly Rust course. It covers the Rust syntax and other fundamental aspects of Rust. Moreover, it also covers memory safety, mutability, borrowing, and other advanced Rust concepts. It is a short course with 4.5 hours of content.
The Rust Programming Language Course
The Rust Programming Language course by Dmitri Nesteruk is a highly-rated Udemy course that teaches you how to use Rust as a systems programming language.
In this course, Dmitri shows you how to solve problems in Rust, covering its strengths and weakness. Moreover, you’ll learn how to use Rust’s memory safety effectively by writing apps and libraries. Lastly, you’ll also test and document your code.
The course is long, with 8.5 hours of on-demand video.
Learn Rust from Scratch (Free Course)
Learn Rust from Scratch is a free course from Educative. It is a 9-hour course where you learn about Rust. It starts with the basics, such as variables, data types, operators, conditional expressions, and loops, and slowly moves to more complex concepts, such as enums, modules, memory management, and vectors.
The course is suitable for new programmers with no programming experience as well!
Rust Programming: The Complete Developer’s Guide
If you’re a beginner but want a more advanced take on Rust programming, then Rust Programming: The Complete Developer’s Guide by ZTM is a good pick.
The course covers computer programming fundamentals and then quickly moves to Rust’s programming language concepts, including traits, slices, memory, generics, and mutability. You’ll also learn about the Rust ecosystem and get hands-on, real-world projects to add to the portfolio.
Ultimate Rust Crash Course
Ultimate Rust Crash Course is the bestseller in Rust programming language with over 30K+ students and a 4.6 rating. The course covers Rust’s basic concepts along with the tooling and ecosystem.
Apart from that, Nathan Stocks, the teacher in the course, also covers other important Rust-related concepts, including references, ownership borrowing, memory model, and so on.
Bonus: Exercism Rust Track lets you explore Rust through 97 exercises. And the best part of the track is that it is 100% free. So, if you’re a beginner and want to start with Rust, this course is for you! The exercises are categorized into easy, medium, and hard so you can choose the exercise you want. However, the course is good for learning about Rust syntax and concepts.
Rust Blogs
Rust blogs are a great way to learn about Rust concepts, tutorials, and use cases. You can get started with the official Rust blog. It is updated regularly with content that you’ll find useful.
Next, check out the ReadRust aggregator, which aggregates interesting Rust blog posts. Apart from these, check out the following blogs:
And, finally bookmark the Rust Anthology Master List, which offers a collection of excellent Rust-related blog posts.
You can check out exciting podcasts, newsletters, communities, and forums for more Rust learning resources.
- For Rust podcasts, check out the New Rustacean — a Podcast about learning Rust and This Week in Rust. I suggest checking out Rustacean Station and Rust Game Dev on Apple Podcast.
- For communities, check out Reddit’s Rust community.
- You can also check out Rust on Medium.
- Rust’s Discord community is also enthusiastic and helpful.
Final Thoughts
Rust is an excellent pick for any developer out there. It fills the gap between low-level programming languages like C/C++ and high-level programming languages like Python. After all, Rust is memory-safe, a high-performance programming language that gives developers complete control over how their programs behave and function.
On top of that, Rust’s design also puts developers’ preferences at the forefront, making it one of the most popular programming languages.
Once you start using Rust, you’ll quickly learn how Rust is technically superior to other programming languages with little to no drawbacks.
However, you must also know that Rust is still new, which means it is updated with new features. This also hints at its immature library and documentation. It also slows development as you’ll need to deal with Rust’s compiler’s detailed error message and slow compile time (which can be improved with the error-chain tool).
Overall, Rust is a great pick! It supports WebAssembly and is growing in popularity with increased market demand. So, kudos to you for choosing Rust, and happy learning.
Also, check out the best Rust server hosting providers to know where to host your Rust application.