What CS Fundamentals do I need to know before learning Rust?

Hello all, Im very interested in learning Rust but I'm pretty nervous when it comes to actually sitting down and learning it. I want to make sure I get the most out of the language and can fully appreciate all of its design choices, but I often feel my lack of experience isn't enough to learn the language.

Ive worked with Javascript in the past and have made my own copy of neofetch in Node but I still felt like that wasn't enough of a starting point. Im currently going through a few CS books in Scheme but how do I know when I can tackle rust? What specific things do I need to know before I should tackle rust?

Maybe off topic but I learned a lot about CS fundamentals by learning and working with Rust XD


You don't need to know anything specific to CS

I'd say understanding pointers is useful because you will be dealing with them indirectly through references (and depending on what you do, maybe even directly)

other than that, CS is overhyped

if you want to learn rust effectively, you can read the book

1 Like

Funny enough its the book thats making me too afraid to touch Rust. In the Introduction under "Who this book is for" the last two sentence's from that section make me unsure if had enough knowledge to tackle the book.

if you've worked with JS you're good

that's just a statement about the book, not the language. It means the book won't waste time explaining things like variables, booleans, loops and such (edit: it will explain how they work in rust, but it assumes you have some general knowledge of programming fundamentals)


I suspect you'll be just fine. This is the first program presented for example. I think that caveat is just there because the book wasn't designed as a "so what is programming?" level introduction, so it doesn't spend a lot of time explaining the basic concept of control flow or whatever, but everything is still introduced in a gradual manner. It was designed for people new to Rust.

1 Like

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.