The Secrets of Rust: Tools (early access edition)

The Secrets of Rust: Tools (early access edition)

$14.95

Are you ready to unlock the secrets of Rust? Master the world's most loved programming language, and learn how to craft stable, reliable, and durable software components that will last for decades, with The Secrets of Rust: Tools. Includes free updates for life.

This is the Early Access edition, so be aware that it's under construction, and not yet complete (three chapters so far, of a planned twelve). But you're getting the book at a greatly reduced price, and your upgrade to the final release version will be free. You can also help with the writing process, by giving me feedback and comments on the existing chapters—and I'd love it if you would!

Reviews

⭐⭐⭐⭐⭐ “I've tried to learn Rust before, but bounced off it somehow. This book unlocked something for me, and now I have a better understanding of just what makes Rust so different.”
—Lawrence Denning

⭐⭐⭐⭐⭐ “I can't praise this book enough. It's opened my eyes to a whole new way of programming.”
—Jawahir Sheikh

⭐⭐⭐⭐⭐ “Gentle, funny, and full of clear explanations—one of the best introductory Rust books I've read.”
—Flavio Balioni

⭐⭐⭐⭐⭐ “I really enjoy the project-based style—it helps to clarify how Rust's features actually come together into real programs.”
—Nick Chandler

About the book

This friendly, supportive, yet challenging book will show you how master software engineers think, and guide you through the process of designing production-ready command-line tools in Rust, step by step.

This book is aimed at those who have a little experience with Rust (or even a lot), and would now like to learn how to build good software with it. What is “good” software anyway? What would it look like in Rust? And how do we get there from here?

Rust is now being used increasingly in critical software, and what I mean by that is high stakes: life and livelihood on the line. It could be life-saving medical equipment, it could be lynchpin financial services, urgent countermeasures in war zones, low-margin control systems like nuclear reactors, space shuttles, or even cars.

This is where we want Rust to be, because we think Rust has unique properties that make it the right tool for doing this successfully.

—Jon Gjengset

If you want to learn why Rust consistently tops polls of the most admired languages, and why its popularity is rising fast among those who want to build safe, reliable, and high-performance software, this is the book for you. You'll master a guided-by-tests workflow for designing user-friendly APIs and building libraries of trusted, stable, high-quality software components suitable for critical applications.

You may find that once you've taken your first steps with Rust, it's so much fun that there's no going back. I sympathise. I really do. And I'm here to help: you can continue your Rust journey with me, in one of my individual Rust mentoring sessions, available right here on the website.

Error handling is the most important part of any program. Anyone can write the happy path! It’s what the program does when something weird, unexpected, or awkward happens that really distinguishes well‐engineered software from janky hacks.

And we can’t imagine all the possible errors that could happen, so we’ve no business deriving a probability distribution for them. The best plan is to assume that, sooner or later, anything that can go wrong will go wrong, and when our software is used at scale, that will assuredly be the case.

—From the book

What you’ll learn

By reading through this book and completing the exercises, you'll learn:

  • How to build reusable crates instead of one-off programs

  • How to design user-friendly APIs, without annoying paperwork

  • How to write robust, testable tools that take command-line flags and arguments

  • How to design Rust crates that work with files and other kinds of binary data

  • How to write flexible tools to operate on trees of files

  • How to use Rust to drive external commands and provide elegant APIs to abstract their functionality

  • How to write commands that interact extensively with users, such as shells

  • How to sequence operations into simple pipelines that abstract away the details of handling streaming data and errors

  • How to encode and decode data in binary format, and translate Rust data to and from JSON and YAML formats

  • How to create robust, reusable client packages for HTTP services and other APIs

What you get

Your digital download is a ZIP file containing the book in PDF and ePub formats. These should be suitable for any ebook reader, Kindle, computer, phone, or tablet.

Table of contents

Read a sample chapter

Updating to the latest edition

All my books come with free updates for life, so if you’ve bought a previous version of this book, here’s what you need to do to get the latest edition. Click the link in your original download email (make sure you save this, as it’s your key to future updates). You’ll see what looks like an error page saying your download link for the old edition has expired, but that’s okay: click the link in the text, and you’ll be sent a new download email for the current edition.

Add To Cart