Rust in Motion
Carol Nichols and Jake Goulding
  • Course duration: 56m
    Estimated full duration: 4h 10m
    15 exercises
  • MEAP began September 2018
  • Publication in January 2019 (estimated)
See it. Do it. Learn it! In Rust in Motion, premier Rust experts Carol Nichols and Jake Goulding, introduce you to the Rust programming language! Designed for modern systems programming, Rust delivers impressive speed and thread-safe concurrency. As coauthor of The Rust Programming Language, Carol literally helped write “The Book,” as the Rust community affectionately calls it. Jake created the Rust FFI Omnibus, and he’s also the #1 contributor to the Rust tag on Stack Overflow. If you’re ready to get started writing production-quality lightning-fast systems code, this liveVideo course is for you!
Table of Contents detailed table of contents

Introduction to the course and Rust syntax

Introduction

Installing

Variables

Data types

Functions

Control flow

Enums

Structs

Methods

Ownership and borrowing

Unit overview

What is ownership?

Ownership exercise examples

Borrowing

Slices

Borrowing and mutability

Borrowing code patterns

Ownership of more than just memory

Error handling

Unit overview

Panicking when something goes wrong

Handling results and options

Writing a function that returns a result and using the question mark operator

Advantages of Rust’s error handling strategy

Custom error types

Useful methods on result and option

Error handling crates

Lifetimes

Unit overview

A short introduction to generics

Lifetime parameters are a type of generic

An exploration of concrete lifetimes

Relating generic lifetimes to each other

Lifetime parameters are prescriptive, not descriptive

Lifetime elision

Structs where all lifetime parameters are the same

Structs with multiple lifetime parameters

About the subject

Rust’s popularity is surging among systems programmers. Aiming to be an alternative to C and C++, Rust’s extraordinary speed comes largely from its memory safety, which it achieves without resource-greedy garbage collection. Other enticing features of this hot systems programming language include its rich type system, heavy functional programming influence, and freedom from a runtime requirement. Command line applications, networking, embedded services, and WebAssembly are some of the areas where Rust really shines!

About the video

Rust in Motion is an all-access pass to Rust, brought to you by top authorities on the subject. Carol and Jake’s masterful instruction jumpstarts your learning with a spotlight on what's different and special about Rust! This skilled duo challenges you to dig deeply into the nuts and bolts of variables, primitive data types, functions, control flow constructs, defining enums and structs, and adding behavior to them with methods. You’ll learn memory management via ownership and borrowing, techniques for error handling, lifetime annotations, and other unique Rust concepts. With this liveVideo’s code examples, inspired by real-world scenarios, you’ll be ready to hit the ground running!

Prerequisites

Perfect for programmers with experience in a language like Java, JavaScript, Ruby, or Python.

What you will learn

  • How to determine the data types of variables
  • Rust’s primitive data types
  • How to write idiomatic functions
  • Control flow constructs, including the match expression
  • Defining your own data types using enums and structs
  • Adding behavior to enums and structs with methods
  • Ownership and borrowing
  • Error handling
  • Lifetime annotations

About the instructors

Carol Nichols co-authored The Rust Programming Language and is a member of the Rust Core Team. Jake Goulding is the creator of The Rust FFI Omnibus, a member of the Rust Infrastructure Team, and the top contributor on the Rust tag on Stack Overflow. Together, Carol and Jake cofounded Integer 32, the world’s first Rust consultancy.

Manning Early Access Program (MEAP) Watch raw videos as they are added, and get the entire course, complete with transcript and exercises, when it is finished.