Free Rust Books

Master Rust Programming with Free Books

Rust Books

Rust is a systems programming language that runs fast, prevents segmentation faults, and guarantees thread safety. It accomplishes these goals by being memory safe without using garbage collection. The language enables developers to write programs with the performance and control of a low-level language, but with the powerful abstractions of a high-level language.

Rust is ideal for systems, embedded, and other performance critical code.

We publish a series covering the best open source programming books for other popular languages. Read them here.

Rust Programming Language

The Rust Programming Language

By Steve Klabnik and Carol Nichols (HTML)

The Rust Programming Language teaches you how to program in Rust. It’s a comprehensive resource for all topics related to Rust, and is the primary official document of the language.

The second edition is a rewrite that will be printed by NoStarch Press, available around October 2017.

Licensed under the Apache License, Version 2.0 or the MIT license, at your option.

The primary reference for the Rust programming language is contained in a separate book.

Rust by Example

Rust by Example

By Rust Programming Team (298 pages)

Rust by Example is a collection of code examples that illustrate various Rust concepts and standard libraries.

Chapters cover:

  • Primitives
  • Custom types
  • Variable Bindings
  • Casting
  • Expressions
  • Flow Control
  • Functions
  • macro_rules!
  • Modules
  • Crates
  • Attributes
  • Generics
  • Scoping Rules
  • Traits
  • Error Handling
  • Std library types
  • Std misc
  • Meta
  • Unsafe operations

A PDF version is available here.

The book is licensed under the Apache License, Version 2.0 or the MIT license.

Rust For C++ Programmers

Rust For C++ Programmers

By Nick Cameron (58 pages)

This tutorial is intended for programmers who already know how pointers and references work and are used to systems programming concepts such as integer widths and memory management.

The author intends to cover, primarily, the differences between Rust and C++ to get you writing Rust programs quickly without lots of fluff you may know.

Licensed under the Apache License, Version 2.0 or the MIT license.

The Rustonomicon

The Rustonomicon

By The Rust Team (117 pages)

This book digs into all the gritty details so coders can write correct unsafe Rust programs.

Chapters explore:

  • Meet Safe and Unsafe
  • Data Layout
  • Ownership
  • Type Conversions
  • Uninitialized Memory
  • Ownership Based Resource Management
  • Unwinding
  • Concurrency
  • Implementing Vec
Rust Programming Step-by-Step

Rust Programming Step-by-Step

By Carlo Milanesi (312 pages)

This book is intended for newcomers to Rust.  Only a basic knowledge of programming is required, preferably in C or C++ language.

Chapters cover:

  • Introduction
  • Printing on Terminal
  • Doing Arithmetic
  • Naming Objects
  • Controlling Execution Flow
  • Using Data Sequences
  • Using Primitive Types
  • Enumerating Cases
  • Using Heterogeneous Data Structures
  • Defining Functions
  • Defining Generic Functions and Structs
  • Allocating Memory
  • Data Implementation
  • Defining Closures
  • Using Changeable Strings
  • Ranges and Slices
  • Using Iterators
  • Input/Output and Error Handling
  • Using Traits
  • Object-Oriented Programming
  • Standard Library Collections
  • Drops, Moves, and Copies
  • Borrowing and Lifetimes
  • More about Lifetimes

The book is published under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.

PROGRAMMING LANGUAGE PROFILES

Ada, Assembly, Awk, Bash, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Fortran, Go, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scheme, Scratch, SQL, Swift, TeX, VimL

Click to rate this software
[Total: 0 Average: 0]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.