rust/README.md

40 lines
1.7 KiB
Markdown
Raw Normal View History

2015-07-13 13:12:16 -05:00
% The Advanced Rust Programming Language
2015-06-24 14:15:45 -05:00
2015-06-29 17:43:51 -05:00
# NOTE: This is a draft document, and may contain serious errors
2015-07-13 13:12:16 -05:00
So you've played around with Rust a bit. You've written a few simple programs and
you think you grok the basics. Maybe you've even read through
*[The Rust Programming Language][trpl]*. Now you want to get neck-deep in all the
nitty-gritty details of the language. You want to know those weird corner-cases.
You want to know what the heck `unsafe` really means, and how to properly use it.
This is the book for you.
2015-06-24 14:15:45 -05:00
2015-07-13 13:12:16 -05:00
To be clear, this book goes into *serious* detail. We're going to dig into
exception-safety and pointer aliasing. We're going to talk about memory
models. We're even going to do some type-theory. This is stuff that you
absolutely *don't* need to know to write fast and safe Rust programs.
You could probably close this book *right now* and still have a productive
and happy career in Rust.
2015-06-24 14:15:45 -05:00
2015-07-13 13:12:16 -05:00
However if you intend to write unsafe code -- or just *really* want to dig into
the guts of the language -- this book contains *invaluable* information.
2015-06-24 14:15:45 -05:00
2015-07-13 13:12:16 -05:00
Unlike *The Rust Programming Language* we *will* be assuming considerable prior
knowledge. In particular, you should be comfortable with:
2015-06-29 17:43:51 -05:00
2015-07-13 13:12:16 -05:00
* Basic Systems Programming:
* Pointers
* [The stack and heap][]
* The memory hierarchy (caches)
* Threads
* [Basic Rust][]
Due to the nature of advanced Rust programming, we will be spending a lot of time
talking about *safety* and *guarantees*. In particular, a significant portion of
the book will be dedicated to correctly writing and understanding Unsafe Rust.
[trpl]: https://doc.rust-lang.org/book/
[The stack and heap]: https://doc.rust-lang.org/book/the-stack-and-the-heap.html
[Basic Rust]: https://doc.rust-lang.org/book/syntax-and-semantics.html