Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Rust Programming Language Book (rust-lang.org)
220 points by dolftax on May 23, 2015 | hide | past | favorite | 48 comments


There's also an O'Reilly book available for preorder, authored by Mozilla's Jim Blandy: http://www.oreilly.com/pub/e/3291?reminder

Packt also has a book on Rust which should be available soon, though I've never heard of the author and so I can't speak as to the quality: https://www.packtpub.com/application-development/rust-essent...

There's also this draft of a Kickstarter for a book on Rust, though again I've not heard of the author before: https://www.kickstarter.com/projects/1712125778/1409335994?t...

Oh, and there's at least one more book in the pipe, and this one in particular is being developed by members of the Rust community... expect an announcement soon. :)


Are there _any_ good Packt press books? At all?


Packt books used to be good, their paper and cover quality aren't good.

Nowadays, it seems like they're trying to output as many books as possible regardless of the qualities. Most of the books are around 100-150 pages ugh.

On the other hand, Manning Publishing keep on taking my money, I really hope they start putting out book quality similar to Packt so I can stop spending money on them.

O'Reily have some really good book too like wise with No Starch Publishing. No Starch Pub have some of the best book material I've ever encountered minus web design books. Pragmatic Bookshelf have some quality books too and classic.


I've found O'Reily has maybe a ~70% hit rate. Everything they produce is generally at least Okay, but everything I've read from Nostarch has been worthwhile.

Manning is also great. Pragprog is also pretty great.


Thanks. I'm editing some of our new books right now, but I might just play Plants vs. Zombies instead.


Thanks Bill. Nothing but praise for Nostarch!

The other greats for quality of content are Morgan Kaufmann, and Springer.


Jim has written a book? Are you sure? That link is to a talk...



Huh. Thanks for the link!


Unofficial (but mostly up-to-date) ebook versions (PDF, EPUB, MOBI, HTML): http://killercup.github.io/trpl-ebook/


Thanks a lot, just what I needed.

It's a pity that the official website does not directly propose these. There are many scenarios where an ebook makes more sense than a website.


We want to, just haven't had the time to integrate killercup's code yet.


Does the epub version display the code source OK for you ? Mine is broken, but I can't tell if it is my reader or the epub.


I only tested it in iBooks and Calibre. On Kindle, it works as well.

There are some code snippets that are not highlighted, though. It'll be fixed in the next version.


Aldiko on Android shows it properly. It only breaks on lines that are wider than the screen.


Is it cool if I print myself a hard copy with one of those self-serve book printers?


Sure, that's what I made this version for! <del>You might want to wait a bit, though. I'm just about to publish a new revision.</del> Update is here.

(The book is, just like the Rust compiler, licensed as MIT/Apache2 if you were wondering.)


Love the HTML version.


The Rust Programming Language Book has been a fantastic resource.

I was recently complaining to myself about some style and grammar issues (e.g. "Book" is redundant in the title of a book), but I realized I'm complaining about style and grammar issues of comprehensive documentation for a recently released programming language!

I respect the effort Rust and Steve have invested in documentation and hope their effort is replicated elsewhere.


Thanks so much <3

Generally speaking, I would love complaints about style and grammar issues, to a point anyway. It's important to me that the informal / conversational tone remains, but generally speaking, I try to get the details right.

(We don't have 'book' in the title of the book, that's just the HN title.)


I read the book last week - thank you for writing it!

I really hope you reconsider your stance on the conversational tone, which made reading the book difficult at times. Being informal or conversational is not bad per se, but it leads to verbosity that obscures the content. Cutting out some of the current verbosity would make the book a lot clearer and easier to digest, and I think you can do this without sacrificing the friendliness and approachability of the book.


> Cutting out some of the current verbosity would make the book a lot clearer and easier to digest

For you. I find good rhetorical writing easier to read and more likely to stick.


You're welcome. And understood, though as my siblings here mention, not everyone feels that way. I've heard a lot of things similar to what you're saying, but I've also heard a lot of "Thank you for not writing minimalist, dry prose."


In my experience, both styles can be remarkably clear and both can be impossibly obtuse.


I've been messing around with Rust since 0.4, but I've never really gotten super into it. Part of it stems from lack of time to invest in it (I have other priorities), but I've realized that my biggest struggle is that I've spent the last several years invested in a web background with OOP tendencies, and I have the hardest time elucidating my ideas into the Rust imperative language.

It would be awesome if there were more/better documentation on how to think about things in the Rust-style, as opposed to the OOP way that Ruby or Python or PHP (or to a lesser extent, Javascript) tend to espouse.



My small Rust-related link-collection.

https://rust.zeef.com/harris.brakmic


Coming from a dynamic languages background, it's great to see that systems details are introduced so those of us without C can get the hang of Rust. Great to see such a nice resource available.


And for my part, I'm glad that I will probably be able to read about higher-level[1] system programming concepts like custom allocators eventually, without having to grok C++.

[1] C isn't really crazy on the generic/meta-programming compared to C++, it seems.


> C isn't really crazy on the generic/meta-programming compared to C++, it seems.

C was already the Go of its generation(Mesa, Algol 68, CLU,PL/I, PL/M) so, yeah.


Examples in Chapter "Mutability" are kind of difficult for newbies like me. With no prior knowledge given, It's very difficult to understand what `std::sync::Arc` is used for, and why it represents some kind of "interior mutability".

There are many other similar problems throughout the book. More work needs to be done.


Agreed. I've been focusing on getting the absolute basics in place, and it's already taken over 250 pages. I'm working on putting some muscle on that skeleton now.


From a smart friend

Rust needs a better tutorial of ownership. It's novel, so it warrants the most explanation.


I agree. I personally found these two blog posts to be useful introductions to ownership and borrowing:

http://blog.skylight.io/rust-means-never-having-to-close-a-s...

http://arthurtw.github.io/2014/11/30/rust-borrow-lifetimes.h...


I may just be not very bright but I've read both of those plus the coverage in the aforementioned book and I still regularly find myself banging my head against the borrow checker when writing code myself. I think at least part of the problem is the use of trivial examples.

I don't seem to have any problems with any of the other concepts used by the language except where they overlap with the borrow checker (e.g. destructuring a Box using).


The tutorial in here seems pretty good:

http://doc.rust-lang.org/book/ownership.html and the following three pages discuss it in some detail.


It's good at the basics, but we need more intermediate / advanced stuff. This is true of the book in general.


I agree. However, there is a lot of information about RAII in C++ that's reasonably translatable.



This seems great as a learning resource. Looking forward to a TCPPPL-like comprehensive reference.


I personally prefer the Rust documentation as a comprehensive reference than the cover-to-cover design of a book such as The C++ Programming Language. (As much as I prefer cppreference.com rather than Stroustrup's book.)

The Rust book is intended to be a quickstart to reading and writing Rust code. However it's when you start perusing the std crate docs that you really learn how to efficiently use the language.

Bonus points for the "src" link in the Rust docs. It always hurts when I have to read C++ stdlib implementation -- but I find Rust's stdlib source a quite pleasant read and a good source of examples.


the Cargo example fails to build. Simply highlite copied to a src dir and it fails with: failed to parse manifest at `/home/john/data/projects/rust/hello/src/Cargo.toml`


Do you have a Cargo.toml? The text explains how running 'cargo new' generates one for you.


yes I just pasted everything from the book and [CODE] $ ~/data/projects/rust/hello/src$ cargo build

failed to parse manifest at `/home/john/data/projects/rust/hello/src/Cargo.toml`

Caused by: either a [lib] or [[bin]] section must be present [/CODE]

Not a real good start for a introduction.


You're inside the `src` directory. Try it from the top level (~/data/projects/rust/hello) instead.


What's odd is that for me, even if I am in a `src` directory, cargo will keep going up the path until it finds a Cargo.toml. Maybe in this case, there is an extra Cargo.toml inside the `src` directory itself?


Thanks I just figured that out. I does work from there. Thank You much


Any time. Sorry it was a problem :/




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: