Hello everyone. I’m about to start a new stage in my studies. Due to a lack of information, I began my programming journey with a web development course (HTML, CSS, and JS). However, that was never really my goal—I just thought it was the standard path. Since I had already started, I didn't want to stop until I finished what I had begun.
I’ve been reading a lot about Rust for a few months now and I’d like to know: can I migrate directly to Rust, or should I learn C first? I’ve sought some guidance and this was suggested to me, but I’d like to get a few more opinions.
That depends on what you want to lean Rust for.
If you just want to use it as a tool for web (wasm) or high-level application programming, there's not real need to learning other languages beforehand.
If you want to do some lower-level systems programming or embedded stuff, it may be a good idea to learn a bit about C and C++ (and maybe assembly) first in order to get a better understanding about how things work in the borderland between hardware and software and also to appreciate some of Rust's design choices and to understand why Rust is designed as it is.
I just graduated from college and I happened to have learned Web/Rust/Cpp(for UE) too, and the order is happend to be JS->Rust->TS->Cpp.
I can tell you the answer: Yes. You can migrate your web skills (Strictly speaking, JS/TS) to Rust, about 65% TypeScript knowledge can be reused, compared with learning Rust from scratch. In some scenario, you even have chance to use both them, like some web tool development (Rspack, for example), and WebAssembly (WASM).
Cpp knowledge is not a necessity, what you actually need is memory management skills, that's also what Rust can teach you. In the same way, mastering Rust is also very helpful for learning Cpp.
But the most important thing I want to mention you is: do not pay too much attention on what language you are going to learn, but what thing you are going to do with this language. If you have no idea what learning Rust for, you better treat it as a hobby, there might be more job opportunities in web development.
my goal is learn low-level, so I will have to study C, and like you mentioned, C++ and maybe assembly (this is kinda interesting ngl). I love learn, so it's not gonna be a problem.
Thank you very much.
My goal and dream is learn about low-level and embedded stuffs, but it's good to know that I can use things I learned about web in Rust. Thank you very much.