TaPL concurrently with The Rust Book

I have been working through The Rust Book (Brown version for the quizzes) because I'd like to learn Rust to understand the ideas of lifetimes and the borrow checker, algebraic data types in particular, and to try a language with systems level capabilities (python background). I'm hoping someone who has already travelled the road ahead of me can comment on whether Types and Programming Languages (Pierce) will be a complementary read to dig into types in more depth or is there a more Rust-centric text that you would recommend?

You don't learn Rust, the borrow checker, and algebraic types by reading textbooks. You learn them by building something real and asking for feedback. It doesn't have to be big, but it better solve something non-trivial, so you encounter the scenarios and challenges that come up in real-world code.

Yes, I certainly will.
I should have been more explicit that I will be using it throughout (have started rewriting a local python script which organises downloads) but this question was specifically about the sources of info I use for topics I'd like to learn but don't know enough about to know if there are more appropriate options.

I think the official book is as good as it gets in Rust-specific manners.

If you are trying to gain knowledge of general concepts, then your best bet is to try them in a number of different programming languages to experience how they compare. For example, algebraic data types and pattern matching are present in functional languages. Check out how they work in eg. Haskell and Erlang, and you'll instantly be less distracted by the Rust-specific details.

1 Like

To look at algebraic data types in a few different languages sounds like a good idea, appreciate the input.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.