nwin aacdfb8a2a Update no-stdlib.md
Clarify the difference between compiler-panic and libcore-panic.
2015-12-19 09:19:05 +01:00
..
2015-12-09 10:07:02 -08:00
2015-12-04 12:32:36 -05:00
2015-12-19 09:19:05 +01:00
2015-12-17 14:31:31 -08:00
2015-12-09 13:25:53 -08:00
2015-12-08 15:14:56 -05:00
2015-12-11 18:18:13 +02:00
2015-12-08 14:56:42 -08:00

% The Rust Programming Language

Welcome! This book will teach you about the Rust Programming Language. Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages arent good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve zero-cost abstractions even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.

“The Rust Programming Language” is split into eight sections. This introduction is the first. After this:

  • Getting started - Set up your computer for Rust development.
  • Learn Rust - Learn Rust programming through small projects.
  • Effective Rust - Higher-level concepts for writing excellent Rust code.
  • Syntax and Semantics - Each bit of Rust, broken down into small chunks.
  • Nightly Rust - Cutting-edge features that arent in stable builds yet.
  • Glossary - A reference of terms used in the book.
  • Bibliography - Background on Rust's influences, papers about Rust.

After reading this introduction, youll want to dive into either Learn Rust or Syntax and Semantics, depending on your preference: Learn Rust if you want to dive in with a project, or Syntax and Semantics if you prefer to start small, and learn a single concept thoroughly before moving onto the next. Copious cross-linking connects these parts together.

Contributing

The source files from which this book is generated can be found on GitHub.