Frontmatter

This commit is contained in:
Carol (Nichols || Goulding) 2022-07-05 11:46:01 -04:00
parent 2fe9eff266
commit cf2653a5ca
No known key found for this signature in database
GPG Key ID: E907EE5A736F87D4
4 changed files with 87 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# Acknowledgments
We would like to thank everyone who has worked on the Rust language for
creating an amazing language worth writing a book about. Were grateful to
everyone in the Rust community for being welcoming and creating an environment
worth welcoming more folks into.
Were especially thankful for everyone who read early versions of this book
online and provided feedback, bug reports, and pull requests. Special thanks to
Eduard-Mihai Burtescu, Alex Crichton, and JT for providing technical review and
Karen Rustad Tölva for the cover art. Thank you to our team at No Starch,
including Bill Pollock, Liz Chadwick, and Janelle Ludowise, for improving this
book and bringing it to print.
<!--Insert Steve's acknowledgements here -->
Carol is grateful for the opportunity to work on this book. She thanks her
family for their constant love and support, especially her husband Jake
Goulding and her daughter Vivian.

5
nostarch/bio.md Normal file
View File

@ -0,0 +1,5 @@
# About the Authors
<!--Insert Steve's bio here -->
Carol Nichols is a member of the Rust Crates.io Team and a former member of the Rust Core Team. Shes a co-founder of Integer 32, LLC, the worlds first Rust-focused software consultancy. Nichols has also organized the Rust Belt Rust Conference.

41
nostarch/foreword.md Normal file
View File

@ -0,0 +1,41 @@
# Foreword
It wasnt always so clear, but the Rust programming language is fundamentally
about *empowerment*: no matter what kind of code you are writing now, Rust
empowers you to reach farther, to program with confidence in a wider variety of
domains than you did before.
Take, for example, “systems-level” work that deals with low-level details of
memory management, data representation, and concurrency. Traditionally, this
realm of programming is seen as arcane, accessible only to a select few who
have devoted the necessary years learning to avoid its infamous pitfalls. And
even those who practice it do so with caution, lest their code be open to
exploits, crashes, or corruption.
Rust breaks down these barriers by eliminating the old pitfalls and providing a
friendly, polished set of tools to help you along the way. Programmers who need
to “dip down” into lower-level control can do so with Rust, without taking on
the customary risk of crashes or security holes, and without having to learn
the fine points of a fickle toolchain. Better yet, the language is designed to
guide you naturally towards reliable code that is efficient in terms of speed
and memory usage.
Programmers who are already working with low-level code can use Rust to raise
their ambitions. For example, introducing parallelism in Rust is a relatively
low-risk operation: the compiler will catch the classical mistakes for you. And
you can tackle more aggressive optimizations in your code with the confidence
that you wont accidentally introduce crashes or vulnerabilities.
But Rust isnt limited to low-level systems programming. Its expressive and
ergonomic enough to make CLI apps, web servers, and many other kinds of code
quite pleasant to write — youll find simple examples of both later in the
book. Working with Rust allows you to build skills that transfer from one
domain to another; you can learn Rust by writing a web app, then apply those
same skills to target your Raspberry Pi.
This book fully embraces the potential of Rust to empower its users. Its a
friendly and approachable text intended to help you level up not just your
knowledge of Rust, but also your reach and confidence as a programmer in
general. So dive in, get ready to learn—and welcome to the Rust community!
— Nicholas Matsakis and Aaron Turon

22
nostarch/preface.md Normal file
View File

@ -0,0 +1,22 @@
# Preface
This version of the text assumes youre using Rust 1.62.0 (released 2022-06-30)
or later with edition="2021" in *Cargo.toml* of all projects to use Rust 2021
Edition idioms. See “Installation” on page 1 to install or update Rust, and see
Appendix E for information on editions.
The 2021 Edition of the Rust language includes a small number of improvements
that make Rust more ergonomic and correct some inconsistencies. This rendition
of the book has a number of improvements to address feedback:
• Chapter 7 contains a new quick reference section on organizing your code into
multiple files with modules.
• Chapter 13 has new and improved closure examples that more clearly illustrate
captures, the `move` keyword, and the `Fn` traits.
• We fixed a number of small errors and imprecise wording throughout the book.
Thank you to the readers who reported them!
Note that any code in earlier renditions of this book that compiled will
continue to compile with the relevant edition in the projects *Cargo.toml*,
even as you update the Rust compiler version youre using. Thats Rusts
backward compatibility guarantees at work!