Last Updated: March 14, 2019

Rust is a systems programming language sponsored and used by Mozilla Research. Rust is made to be a concurrent and practical language. It is syntactically similar to C++. It is made to be better at memory safety without losing performance.  It was recently awarded  Rust the title of ‘most loved programming language’ in the Stack Overflow Developer Survey.  Here’s a list of the best Rust tutorials, best Rust books, and best Rust courses to help you learn Rust in 2019.


Best Rust courses & tutorials 2019


The Rust Programming Language

The Rust Programming Language by Dmitri Nesteruk will teach you the fundamentals of Rust. Rust is a modern programming language that has the both the power of native code as well as the safety of managed languages. You will learn about Rust’s fundamental data types and how to use them to declare variables. This Rust programming tutorial will help you master Rust’s explicit take on the concept of a lifetime with ownership, borrowing, lifetime specifiers, lifetime elision. You will test and document your Rust code.
You will:

  • Download and install Rust, compile programs and work with an IDE.
  • Learn about fundamental data types and how to use them to declare variables.
  • Undersand arrays, vectors and strings, the concept of slices.
  • Learn to create functions, methods, closures, higher-order functions.
  • Understand how to create various data structures such as structs and enums; also traits.
  • Master Rust’s explicit take on the concept of lifetime with ownership, borrowing, lifetime specifiers, lifetime elision.
  • Learn how to safely share data around your (possibly multithreaded) application with Rc, Arc and Mutex.
  • Use Rust package management, Cargo.
  • Documentation, conditional compilation, testing.

This is one of the best Rust programming language tutorials in 2019.


Building Reusable Code with Rust

Building Reusable Code with Rust by Packt Publishing will help you learn to write clean and reusable Rust code. You will use loop, map, filter and fold to avoid code duplication. This Rust video tutorial will help you understand generics. You will use generic to abstract algorithms for multiple data types. Defining and enforce clear interface using traits is explained. This Rust programming language course will help you work with macros and compiler plugins for metaprogramming. The training will show standard library features such as generics, traits and macros. You will structure your code with modules and crates, then publish it online.


Learn Rust in 7 Days

Learn Rust in 7 Days by Packt Publishing will help you learn Rust programming in a week. The course is plit into 7 parts, so you learn one part every day. You will use Rust trait system to build super flexible types. This tutorial will show you how to handle Rust Errors without Boilerplate code. Keeping your code effective and safe with pointer lifetimes is explained. This interactive Rust tutorial will help you work within pointer safety restrictions and write capable Rust code. Using the Iterator Trait, you will learn loop. You will write programs that take full advantage of multicore processors. Using concurrency without data race risks is explained. You will make use of Rocket web framework and build powerful websites quickly.


Best Rust books 2019


[aawp bestseller=”rust programming books” items=”10″]


The Rust Programming Language

[aawp box=”1593278284″]

The Rust Programming Language Paperback by Steve Klabnik and Carol Nichols is the official Rust book. Written by two members of the Rust core team with has contributions from 42 members of the Rust community. This Rust programming book starts with a hands-on project to help you learn Rust basics. You will learn key Rust concepts in depth, including: ownership, type system, error handling, and fearless concurrency. This comprehensive Rust book contains Rust topics including pattern matching, iterators, and smart pointers. You will learn from Rust examples and Rust exercises, solidifying your Rust theory into practice. This friendly and approachable guide will help you:

  • Learn Rust concepts including: ownership, borrowing, and lifetimes
  • Use Cargo (Rust’s built-in package manager) to build and maintain your code, including downloading and building dependencies
  • Use Rust’s zero-cost abstractions and employ your own
  • Write reliable Rust code that is speed and memory efficient
  • Avoid Rust programming pitfalls
  • Build Rust command line programs, single and multithreaded web servers

This is one of the best Rust programming language books in 2019


Programming Rust: Fast, Safe Systems Development

[aawp box=”1491927283″]

Programming Rust: Fast, Safe Systems Development by Jim Blandy and Jason Orendorff will help you learn Rust performance and safety. This book is written by experienced systems programmers and teaches you how to take advantage of Rust bridging the gap between performance and safety. by You will learn:

  • How Rust represents values in memory
  • Rust ownership, moves, borrows, and lifetimes
  • Cargo, rustdoc and unit tests
  • Publishing Rust code on, Rust public package repository
  • High-level features like generic code, closures, collections, and iterators
  • Concurrency in Rust: threads, mutexes, channels, and atomics
  • Unsafe code, and how to preserve the integrity of ordinary code that uses it
  • Extended Rust programming examples showing how pieces of the language fit together

This is one of the best Rust books for systems programmers in 2019


Step Ahead with Rust: Systems Programming in Rust

[aawp box=”0999361805″]
Step Ahead with Rust: Systems Programming in Rust by Jonathan Creekmore and James Miller will help you learn to build software with Rust. You will learn the most important features of the Rust language, including cargo, type system, iterators, etc. This Rust Systems Programming book focuses on Rust’s practical applications and is all about practicing what you learn. Topics covered include: Iterators, Macros, Ownership, Borrowing and Lifetimes, Cargo, Rust Type System, Unsafe Patterns, Concurrency. By the end of this book, you should be ready to learn about advanced Rust topics.


Hands-On Concurrency with Rust: Confidently build memory-safe, parallel, and efficient software in Rust

[aawp box=”1788399978″]

Hands-On Concurrency with Rust: Confidently build memory-safe, parallel, and efficient software in Rust by Brian L. Troutwine will help you learn Rust Concurrency. This Rust programming guide will help you improve the sequential performance of your software. You will understand operating system process uses in high-scale concurrent systems. This Rust programming ebook will teach you coordination methods available in the Rust Standard library. You will:

  • Find performance and accuracy issues
  • Create Rust threading and Rust multi-processing environment
  • Use coarse locks from Rust’s Standard library
  • Solve common synchronization problems or avoid synchronization using atomic programming
  • Build and understand lock-free/wait-free structures in Rust in crates ecosystem
  • Use Rust memory model and type system to build safety properties
  • Understand the new Rust programming language features
  • Build efficient Rust parallel programs


Mastering Rust

[aawp box=”1785885308″]

Mastering Rust by Vesa Kaihlavirta will teach you to implement Rust for your enterprise project, deploy the software, and learn the best practices of coding in Rust. This is one of the most comprehensive books on Rust. The Rust programming language book is filled with real-world examples and explanations that will show you how to build scalable and reliable Rust programs. You will learn intermediate to advanced level concepts that make Rust a great language. Some of the topics covered include improving performance, using generics, building macros, and working with threads, etc. This advanced Rust book contains a mix of theory interspersed with hands-on tasks, so you acquire the skills as well as the knowledge. You will:

  • Implement Rust unit testing patterns with standard Rust tools
  • Learn philosophies of Rust error handling
  • USe Rust’s ability to solve memory allocation problems safely without garbage collection
  • Learn Rust concurrency and use concurrency primitives like threads and message passing
  • Use Rust syntax extensions and write your own
  • Create a Web API with Iron
  • Use Diesel to build safe database abstractions


Rust Essentials

[aawp box=”1788390016″]

Rust Essentials by Ivo Balbaert will help you learn Rust Functional programming. You will get started with Rust to build scalable high performance apps. This Rust lang book will help you develop concurrent applications for large and scalable software. First you will install Rust and learn how to work with Cargo, the Rust package manager. Rust programming concepts are introduced step by step, including variables, types, functions, and control structures. You will:

  • Set up your Rust environment to achieve the highest productivity
  • Bridge the performance gap between safe and unsafe languages
  • Use pattern matching to create flexible code
  • Apply generics and traits to develop widely applicable code
  • Organize your code in Rust modules and Rust crates
  • Build macros that extend Rust capabilities and reach
  • Tackle Rust problems concurrently in distributed environments


Rust Cookbook: Understand the core concepts of rust such as, memory management, concurrency, packaging, and many more

[aawp box=”178588025X”]
Rust Cookbook by Vigneshwer Dhinakaran will help you learn Rust recipes to program better Rust applications. You will build high-performance Rust units and integrate them into your existing application. This Rust programming book contains 80 practical recipes written in Rust that will allow you to use the code samples right away in your existing applications. Rust recipes on performance, robustness, security, memory management, scalability and building foreign function interfaces with C, JS, and Python. You will:

  • Understand how to solve system programming language problems with Rust
  • Learn Rust core concepts to build fast and safe software
  • Integrate Rust units into existing applications
  • Carry out better parallelism, security, and performance
  • Package your Rust application and ship it for deployment in a production environment
  • Use Rust web applications and services for high-performance



Amazon Associates Disclosure: We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to and affiliated sites.