The Secrets of Rust: Tools (early access edition)
The Secrets of Rust: Tools (early access edition)
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 (five chapters so far, of a planned eight or so). But you're getting the book at a big discount from the full retail price, and your upgrade to the 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 build attractive, powerful text user interfaces (TUIs)
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.
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.