Learning Rust: A comprehensive guide to writing Rust applications
Paul Johnson, Vesa Kaihlavirta
- Get started with the language to build scalable and high performance applications
- This book will help C#/C++ developers gain better performance and memory management
- Discover the power of Rust when developing concurrent applications for large and scalable software
Rust is a highly concurrent and high performance language that focuses on safety and speed, memory management, and writing clean code. It also guarantees thread safety, and its aim is to improve the performance of existing applications. Its potential is shown by the fact that it has been backed by Mozilla to solve the critical problem of concurrency.
Learning Rust will teach you to build concurrent, fast, and robust applications. From learning the basic syntax to writing complex functions, this book will is your one stop guide to get up to speed with the fundamentals of Rust programming. We will cover the essentials of the language, including variables, procedures, output, compiling, installing, and memory handling.
You will learn how to write object-oriented code, work with generics, conduct pattern matching, and build macros. You will get to know how to communicate with users and other services, as well as getting to grips with generics, scoping, and more advanced conditions. You will also discover how to extend the compilation unit in Rust.
By the end of this book, you will be able to create a complex application in Rust to move forward with.
What you will learn
- Set up Rust for Windows, Linux, and OS X
- Write effective code using Rust
- Expand your Rust applications using libraries
- Interface existing non-Rust libraries with your Rust applications
- Use the standard library within your applications
- Understand memory management within Rust and speed efficiency when passing variables
- Create more complex data types
- Study concurrency in Rust with multi-threaded applications and sync threading techniques to improve the performance of an application problem
About the Author
Paul Johnson has been writing software since the early 1980s on machines ranging from the ZX81 and servers to his trusty Mac, and has used more languages than he can remember. He is a qualified scuba diver and college lecturer. Paul lives with his wife, kids, and pets, and listens to an inordinate amount of rock and metal on Primordial Radio. This is his third book for Packt.
Vesa Kaihlavirta has been programming since he was 5, beginning with C64 Basic. His main professional goal in life is to increase awareness about programming languages and software quality in all industries that use software. He's an Arch Linux Developer Fellow and has been working in the telecom and financial industry for over a decade. Vesa lives in Central Finland, in Jyväskylä. Vesa worked on the final editing phase of Learning Rust.
Table of Contents
- Introducing & Installing Rust
- Input and Output
- Conditions, Recursion and Loops
- Remember, Remember
- Creating your own Rust applications
- Matching and Structures
- The Rust Application Lifetime
- Introducing Generics and Traits
- Creating your own Crate
- Concurrency in Rust
- Now it’s your turn!
- The standard library
- Foreign Function Interfaces