Book Image

Rust Programming Cookbook

By : Claus Matzinger
Book Image

Rust Programming Cookbook

By: Claus Matzinger

Overview of this book

Rust 2018, Rust's first major milestone since version 1.0, brings more advancement in the Rust language. The Rust Programming Cookbook is a practical guide to help you overcome challenges when writing Rust code. This Rust book covers recipes for configuring Rust for different environments and architectural designs, and provides solutions to practical problems. It will also take you through Rust's core concepts, enabling you to create efficient, high-performance applications that use features such as zero-cost abstractions and improved memory management. As you progress, you'll delve into more advanced topics, including channels and actors, for building scalable, production-grade applications, and even get to grips with error handling, macros, and modularization to write maintainable code. You will then learn how to overcome common roadblocks when using Rust for systems programming, IoT, web development, and network programming. Finally, you'll discover what Rust 2018 has to offer for embedded programmers. By the end of the book, you'll have learned how to build fast and safe applications and services using Rust.
Table of Contents (12 chapters)

Preface

Several years ago, I set out learning a new programming language every year – as many programmers do. There are many paradigms, rules, and insights to be gained from knowing another programming language, and then I found Rust. Rust turned out to be too much fun to write to simply move on, and after the steep learning curve, it became even more fun. So, there I had it: having learned a total of two additional (TypeScript and Rust) languages, I stuck to Rust. Why? Let's find out.

Rust is a systems programming language that provides memory safety by default without a garbage collector, which impacts its runtime behavior. Regardless of this fact, Rust is a very versatile language that can be used across various domains, be it web programming, game engines, or web clients. Moreover, it challenges conventional thinking about scopes and memory allocation, making you a better programmer in any language, be it C#, Java, or Python. The latest push on the part of companies such as Amazon, Microsoft, and Google shows that the ecosystem has now evolved to a point where things are stabilizing enough for enterprise usage – a great sign for a future Rust professional.

In this book, we have compiled the most useful experiments with sensible use cases to make you productive fast. We have tried to cover a wide range of applications and hope you find useful concepts as well as solutions that are directly applicable to your daily development work.