Programming Rust: Fast, Safe Systems Development
(as of Nov 13,2022 23:54:45 UTC – Details)
Systems programming provides the foundation for the world’s computation. Developing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used. The Rust systems programming language combines that control with a modern type system that catches broad classes of common mistakes, from memory management errors to interthread data races.
With this practical guide, experienced systems programmers will learn how to successfully bridge the gap between performance and safety using Rust. Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust’s features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency.
- Rust’s fundamental data types and the core concepts of ownership and borrowing
- Language basics including error handling, crates and modules, structs, and enums
- How to write flexible, efficient code with traits and generics
- Rust’s key power tools: closures, iterators, and asynchronous programming
- Collections, strings and text, input and output, concurrency, macros, unsafe code, and interfacing with foreign functions
This updated edition covers Rust 1.50 (February 2021).
From the Publisher
From the Preface
Rust is a language for systems programming.
This bears some explanation these days, as systems programming is unfamiliar to most working programmers. Yet it underlies everything we do.
You close your laptop. The operating system detects this, suspends all the running programs, turns off the screen, and puts the computer to sleep. Later, you open the laptop: the screen and other components are powered up again, and each program is able to pick up where it left off. We take this for granted. But systems programmers wrote a lot of code to make that happen.
In short, systems programming is resource-constrained programming. It is programming when every byte and every CPU cycle counts.
The amount of systems code involved in supporting a basic app is staggering.
This book will not teach you systems programming. In fact, this book covers many details of memory management that might seem unnecessarily abstruse at first, if you haven’t already done some systems programming on your own.
But if you are a seasoned systems programmer, you’ll find that Rust is something exceptional: a new tool that eliminates major, well-understood problems that have plagued a whole industry for decades.
Who Should Read This Book
However, you don’t just need to learn Rust. To get the most out of the language, you also need to gain some experience with systems programming. We recommend reading this book while also implementing some systems programming side projects in Rust. Build something you’ve never built before, something that takes advantage of Rust’s speed, concurrency, and safety. The list of topics at the beginning of the book’s preface should give you some ideas.
Why We Wrote This Book
We set out to write the book we wished we had when we started learning Rust. Our goal was to tackle the big, new concepts in Rust up front and head-on, presenting them clearly and in depth so as to minimize learning by trial and error.
Publisher:O’Reilly Media; 2nd edition (July 6, 2021)
Item Weight:2.6 pounds
Dimensions:7.01 x 1.47 x 9.17 inches