Programming Rust: Fast, Safe Systems Development cover
Programming Rust: Fast, Safe Systems Development
by Jim Blandy, Jason Orendorff, Leonora F. s. Tindall
ISBN: 1491927283
Found in 20 comments on Hacker News
We may earn a commission from purchases made through links on this page.
Not ready yet? Get weekly book picks.
Boulth · 2020-05-22 · Original thread
Yep. Although in my opinion Programming Rust [0] is better even though dated. The word goes that the 2nd edition will be out by the end of the year.

[0]: https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...

tracker1 · 2019-05-31 · Original thread
Somewhat agreed... If I hadn't started with the O'Reily book[1], would probably order. If the eBook were half the price, would get it anyway.

Edit: looks like it's a few bucks less on Amazon

[1] https://www.amazon.com/Programming-Rust-Fast-Systems-Develop... [2] https://www.amazon.com/Rust-Programming-Language-Steve-Klabn...

ekidd · 2019-02-10 · Original thread
I've been programming in C and C++ since sometime around 1992 (and Pascal before that). For the last 3 years, I've been writing Rust professionally.

Here's my Rust advice for C and C++ programmers:

- Rust is a higher-level language than C. A C/C++ programmer could think of Rust as "C++ without most of the footguns and magic."

- Certain types of C/C++ code will translate very easily to Rust. For example, if your code mostly transforms bytes (or data structures) into other bytes (or data structures), then Rust will usually be fairly easy to learn. We could call this "mostly functional" C code, with only localized mutability, and with clear, hierarchical data structures. Examples: Most typical Unix CLI tools.

- Certain kinds of C and C++ will translate very badly to Rust. If you have a big web of mutable objects, all of which point to each other and update each other, then your first experience of Rust will probably be frustrating. Examples: doubly-linked lists, traditional GUIs, typical video games. You can do all these things in Rust, but you'll need to either re-architect them or use more advanced features. (See http://cglab.ca/~abeinges/blah/too-many-lists/book/ for doubly-linked lists, or https://kyren.github.io/2018/09/14/rustconf-talk.html for video games.)

- Async Rust is not ready for prime-time. We make limited use of async Rust at work. It's rock-solid and powerful, but it's missing critical ergonomic features and it demands a surprisingly high level of Rust knowledge. See https://areweasyncyet.rs/.

Two good Rust books are https://doc.rust-lang.org/stable/book/ and http://shop.oreilly.com/product/0636920040385.do. "The Rust Programming Language" seems to work best for people coming from Ruby or JavaScript, but I've known several C/C++ programmers who preferred the O'Reilly book.

Honestly, if you're happy with C, there's no reason to switch to Rust. (Except, maybe, preventing exploits, if you worry about that.) If, however, you love certain parts of C++ and hate other parts of C++, then Rust might be worth a look. Anyway, that's my personal take. :-) Overall, I've been really enjoying Rust. It generates fast, reliable code and it fits the way I think.

>the borrowing/ownership semantics of rust (at the time I looked at it) felt needlessly over complicated.

Taking a wild guess here, but it sounds like you maybe referring to issues addressed by Non-Lexical Lifetimes (NLL)?

Reference: https://github.com/rust-lang/rfcs/blob/master/text/2094-nll....

NLL are a part of Rust 2018 Edition.

Three complementary books are the best resources:

- The Official book: https://doc.rust-lang.org/book/

- The Rust By Example book : https://doc.rust-lang.org/rust-by-example/

- Programming Rust (O'Reilly) : https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...

AlexeyBrin · 2018-03-15 · Original thread
There are two books with similar titles and I'm under the impression that you don't talk about the one the OP had in mind:

https://www.amazon.com/Rust-Programming-Language-Steve-Klabn...

https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...

I think both are good books, I already have the second one and preordered the first.

This is undoubtedly the best c++ resource available http://shop.oreilly.com/product/0636920040385.do
aaron-lebo · 2018-01-14 · Original thread
Read the rust book and actually build something with it. There's a lot of stuff in Rust that you just never have to consider in Python so there's no easy way other than diving in. Actually, Programming Rust might be better, but it's not free.

https://doc.rust-lang.org/book/second-edition/

http://shop.oreilly.com/product/0636920040385.do

Shoothe · 2017-12-19 · Original thread
Red (and Rebol) are fantastic but unfortunately the learning curve is very steep for people that don't know it. I spent a month reading everything on the internet about Rebol, then Red was obvious but before that it's really hard to get into that world. IMHO Red should have something like a definitive book covering all aspects in one place (like [0]) because it has a vast array powerful features (URI, money, time literals, parse and other dialects) etc. Without concise but a complete guide the language appears to be just a weird "let's use [ ] instead of { }" construct.

[0]: http://shop.oreilly.com/product/0636920040385.do

There are two that should hit print + Amazon this year, https://www.nostarch.com/Rust (mine) and http://shop.oreilly.com/product/0636920040385.do
maximilian · 2017-03-04 · Original thread
Oreilly has a pre-release book that seems quite good at explaining rust from a C++ perspective.

http://shop.oreilly.com/product/0636920040385.do

proctor · 2017-02-16 · Original thread
I have found this book to be an excellent resource. Also I have been supplementing it with the oreilly book "Programming Rust" (early release at this point) which has also been great. http://shop.oreilly.com/product/0636920040385.do I have had very little experience with C style languages in the past and am mostly scripting until recently.
AsyncAwait · 2017-02-16 · Original thread
Another excellent book is "Programming Rust"[1], especially if you already know C/C++

1 - http://shop.oreilly.com/product/0636920040385.do

kibwen · 2017-02-06 · Original thread
Then see O'Reilly's upcoming "Programming Rust" by Jim Blandy, who, despite working at Mozilla, has never been involved in Rust development, and has long years of experience developing SpiderMonkey, GDB, SVN, GNU Guile, and Emacs. It's still in early access, but 17 out of 20 chapters are available.

http://shop.oreilly.com/product/0636920040385.do

gcp · 2017-02-06 · Original thread
You can get early access to it via various places, e.g. http://shop.oreilly.com/product/0636920040385.do
leshow · 2017-02-06 · Original thread
Oreilly has an early release available: http://shop.oreilly.com/product/0636920040385.do

I have purchased it and it's pretty good. Although it really seems to be geared more towards experienced systems programmers. The online book is much better for beginners, IMO.

gcp · 2017-02-06 · Original thread
There's several external books. I started from this one (via Safari):

https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...

aturon · 2015-08-14 · Original thread
There's an O'Reilly book in the works: http://www.amazon.com/Programming-Rust-Jim-Blandy/dp/1491927...

And The Rust Programming Language (https://doc.rust-lang.org/book) is on its way to paper publication.

The newly minted Rustonomicon (https://doc.rust-lang.org/nightly/nomicon/) that covers deeper aspects of Rust is hopefully destined for the same.