Key Highlights
⦁ Discover the main features of the Rust language
⦁ Learn to develop safer and faster software using Rust
⦁ Learn to establish efficient C bindings
⦁ Get detailed explanations of differences between Rust and C++
Book Description
Rust is a c-like systems programming language that provides many advantages over its predecessors. This is why this low-level language has already become so popular in the development community.
This book covers the main features of Rust, like zero-cost abstractions, move semantics, trait-based generics, pattern matching, type inference, and minimal runtime. It also explains how the Rust programming language can ensure memory safety and avoid data races in threads. In addition, Rust provides a great opportunity to use wide range of libraries and bind with other languages.
The author added a detailed chart comparing feature set of Rust to C++, so you can better understand all the advantages and disadvantages of Rust.
This tutorial will be useful for developers who only starts learning Rust, as well as for those who want to improve their knowledge on Rust features.
What you will learn
⦁ Discover Rust features that make programming faster and secure
⦁ Guarantee memory safety using Rust
⦁ Benefit from zero-cost abstraction mechanisms
⦁ Avoid data races and a garbage collector
⦁ Get rid of use-after-free, double-free bugs, dangling pointers
⦁ Reduce code duplication
⦁ Use existing libraries written in C and other languages
⦁ Understand the main difference between Rust and C++
About the Author
Alexey Lozovsky is a Software Designer at Apriorit.Inc. Apriorit Inc. is a software development service provider headquartered in the Dover, DE, US, with several development centers in Eastern Europe. With over 350 professionals, it brings high-quality services on software consulting, research, and development to software
vendors and IT companies worldwide.
Apriorit’s main specialties are cybersecurity and data management projects, where system programming, driver and kernel level development, research and reversing matter. The company has an independent web platform development department focusing on building cloud platforms for business.
Table of Contents
Introduction
Summary of Features
Rust Language Features
Zero-Cost Abstractions
Move Semantics
Guaranteed Memory Safety
Ownership
Borrowing
Mutability and Aliasing
Option Types instead of Null Pointers
No Uninitialized Variables
Threads without Data Races
Passing Messages with Channels
Safe State Sharing with Locks
Trait-Based Generics
Traits Define Type Interfaces
Traits Implement Polymorphism
Traits May be Implemented Automatically
Pattern Matching
Type Inference
Minimal Runtime
Efficient C Bindings
Calling C from Rust
The Libc Crate and Unsafe Blocks
Beyond Primitive Types
Calling Rust from C
Rust vs. C++ Comparison