mirror of
https://github.com/rust-lang/book.git
synced 2026-06-12 14:50:45 -04:00
Snapshot foreword and send to nostarch
This commit is contained in:
41
second-edition/nostarch/foreword.md
Normal file
41
second-edition/nostarch/foreword.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Foreword
|
||||
|
||||
It wasn’t 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 won’t accidentally introduce crashes or exploits.
|
||||
|
||||
But Rust isn’t limited to low-level systems programming. It’s expressive and
|
||||
ergonomic enough to make CLI apps, web servers, and many other kinds of code
|
||||
quite pleasant to write — you’ll 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. It’s 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
|
||||
Reference in New Issue
Block a user