Easy Rust has been reborn on Manning as Learn Rust in a Month of Lunches

132 points Dhghomon

Hi all,

Up on Manning starting this week is a book I wrote / am writing called Learn Rust in a Month of Lunches, whose origins date back to Easy Rust that people here might be familiar with and which I wrote 2 years ago. The first six chapters are now up on MEAP which is pretty exciting. (The code mlmacleod gives 45% off until February 2 btw)

How it turned into a new book is pretty interesting as it actually started out with another publishing company in Korea where I live.

Korea has a company called Hanbit Media that is pretty similar to Manning and O'Reilly. Last spring they got in touch with me asking if they could sign a contract to translate Easy Rust into Korean and sell it. I said yes but to please give me a month to make some changes. I hadn't touched Easy Rust in quite some time and wanted to add things like async, more external crates and some of the recent changes to Rust itself (e.g. Mutex::new() being const, the slick new string interpolation, etc.). I ended up making more changes than I thought and a month later the book ended up about 30% bigger and essentially a new edition, which I sent to them to translate. They are doing everything themselves and once they have finished it (apparently around July) they will send me what they have, I will make some extra changes and additions, and it'll be available in Korean. Apparently it will have a different title too, but not sure what it is yet. I can't wait to see what they're doing with the book but I just have to be patient while they do it.

A few weeks after that, by coincidence Manning got in touch with me about authoring for them. Hanbit has the Korean rights but the rest were up for grabs, so I said yes and that I already had a new edition of the book on hand that hadn't been released anywhere publicly. That was accepted and we started work on it. The title change is to avoid any confusion between it and the original Easy Rust, and because Manning has a series of these "Learn X in a Month of Lunches" books that hasn't had a Rust edition yet.

Working with Manning is basically the opposite of the Korean company in that the whole book is being worked on together, which means changing the format and a lot of feedback right away including from a group of 20+ anonymous reviewers which was quite interesting. In terms of time that means about half an hour each night after work making changes in response to feedback, including making it into more of a book than it was before. The original Easy Rust is just one concept after another but now it has named chapters, sections with transitions between them, images (you make them yourselves but right before publishing they clean them up so in the meantime they are pretty MS Paint-y). And in the meantime the feedback always gives me ideas for new code samples to add so it's gotten quite a lot longer than the 'second edition' I gave to Hanbit Media. It's now divided into multiple files so I haven't checked the full word count but I think it will be about twice the size of the original Easy Rust by the end.

On top of that I am going to add one or two new chapters at the end because at the moment the last chapter is on macros and the book suddenly ends there which is a bit jarring. The book is purposely not project-based but at the end I would like to have a small cookbook of tiny proto projects for readers to pick up and have something to have fun developing themselves, using the external crates introduced a few chapters before. I'm still thinking of what to add here (requests and any ideas are welcome!) but one is going to be a small typing tutor using crossterm and ansi_term. It will grab a text file, display it, you type it and it measures your speed and accuracy and wrong keystrokes show up in red. The proto projects should be as small as possible, usable as is but incomplete to the point that a reader will want to start adding things right away.

Getting this much feedback on the book is pretty awesome as all these extra pairs of eyes are now noticing areas where the book can be improved. There are so many comments that lead to improvements that are super obvious in hindsight. The goal of the book is to be the absolute easiest way to start learning Rust and the feedback is really helping in that area.

(I also checked with Manning about people who want to read it but don't have the money on hand and apparently during MEAP they can give you a code to get book access if you are going to leave good amount of feedback, something like that. So let me know by DM if that's you)

In addition to that I hope to make the argument that Rust in the end is a perfect language for lazy and stress-averse coders. Rust is (in)famous as being difficult to learn and to a certain extent that's true, but once the hard work is done you end up with a language that does a lot of thinking for you, and that's the point I really want to emphasize. IMO Rust developers are holding a lot less in their head than developers in dynamically typed / non-memory safe / non-thread safe languages, and new developers can contribute pretty quickly to existing code without feeling like they are going to irreparably break something.

Hopefully my book will lead to a lot more people who are comfortable with Rust but also change the image of the language itself. I really want to drive the point home that while learning may take some effort, the experience of being a Rust developer is actually a pretty relaxing one all things considered.

So yeah, if you see Rust in a Month of Lunches - that's Easy Rust's grandson!