6 ms·
Rust Programming Language Book
- cdnsteve 11y agoComing 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.
- Dewie3 11y agoAnd 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.
- pjmlp 11y ago> 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.
- killercup 11y agoUnofficial (but mostly up-to-date) ebook versions (PDF, EPUB, MOBI, HTML): http://killercup.github.io/trpl-ebook/ http://killercup.github.io/trpl-ebook/
- on_and_off 11y agoThanks 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.
- steveklabnik 11y agoWe want to, just haven't had the time to integrate killercup's code yet.
- tunnuz 11y agoLove the HTML version.
- homarp 11y agoDoes 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.
- pshc 11y agoIs it cool if I print myself a hard copy with one of those self-serve book printers?
- killercup 11y agoSure, 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.)
- charlieegan3 11y agohttp://rustbyexample.com http://rustbyexample.com Is also good.
- alexnewman 11y agoFrom a smart friend Rust needs a better tutorial of ownership. It's novel, so it warrants the most explanation.
- weaksauce 11y agoThe tutorial in here seems pretty good: http://doc.rust-lang.org/book/ownership.html http://doc.rust-lang.org/book/ownership.html and the following three pages discuss it in some detail.
- steveklabnik 11y agoIt's good at the basics, but we need more intermediate / advanced stuff. This is true of the book in general.
- Q6T46nT668w6i3m 11y agoI agree. However, there is a lot of information about RAII in C++ that's reasonably translatable.
- mbrubeck 11y agoI 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-socket/ http://blog.skylight.io/rust-means-never-having-to-close-a-s... http://arthurtw.github.io/2014/11/30/rust-borrow-lifetimes.html http://arthurtw.github.io/2014/11/30/rust-borrow-lifetimes.h...
- badpenny 11y agoI 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).
- brakmic 11y agoMy small Rust-related link-collection. https://rust.zeef.com/harris.brakmic https://rust.zeef.com/harris.brakmic
- Q6T46nT668w6i3m 11y agoThe 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.
- steveklabnik 11y agoThanks 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.)
- agwa 11y agoI 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.
- eropple 11y ago> 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.
- billpollock 11y agoIn my experience, both styles can be remarkably clear and both can be impossibly obtuse.
- steveklabnik 11y ago
- rayiner 11y agoThis seems great as a learning resource. Looking forward to a TCPPPL-like comprehensive reference.
- mdup 11y agoI 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.
- kibwen 11y agoThere's also an O'Reilly book available for preorder, authored by Mozilla's Jim Blandy: http://www.oreilly.com/pub/e/3291?reminder 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-essentials 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?token=951963e5 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. :)
- peteretep 11y agoAre there _any_ good Packt press books? At all?
- digitalzombie 11y agoPackt 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.
- estsauver 11y agoI'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.
- 11y ago
- Jemaclus 11y agoI'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.
- KaiserY 11y agohttps://www.gitbook.com/book/kaisery/rust-book-chinese https://www.gitbook.com/book/kaisery/rust-book-chinese Here comes Chinese translation.
- chenzhekl 11y agoExamples 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.
- steveklabnik 11y agoAgreed. 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.
- AlleyTrotter 11y agothe 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`
- steveklabnik 11y agoDo you have a Cargo.toml? The text explains how running 'cargo new' generates one for you.
- AlleyTrotter 11y agoyes 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.
- steveklabnik 11y agoYou're inside the `src` directory. Try it from the top level (~/data/projects/rust/hello) instead.
- FreeFull 11y agoWhat'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?
- AlleyTrotter 11y agoThanks I just figured that out. I does work from there. Thank You much
- steveklabnik 11y agoAny time. Sorry it was a problem :/