Do I need to understand compilers and language design to understand rust?

While learning rust, I'm commonly experiencing cases where the docs and examples are difficult to really understand and internalize without some background knowledge of compilers and language design. Being that I've never taken a course in compilers or language design, I'm only conceptually familiar with them. So to anybody reading this, which would you suggest:

  • Taking a course in compilers and/or language design. If so, do you have a recommended resource for it? I was thinking of just using one of the open source courseware sites.
  • Just learning the required concepts whenever necessary along the way. If so, do you have a recommended reference for these specific subjects, ideally using rust would be a nice bonus.

Many thanks in advance!

What kind of things make you think you need compiler knowledge to use Rust?

Since Rust is a system programming language, you need low level programming knowledge, but compiler internal does not seem necessary to me.

1 Like

No, but I would recommend you have an Idea of concepts like pointers, manual memory management, the difference between the stack and the heap, generics, and modern programming ideologies (an open mind :stuck_out_tongue: )

Im not saying you need experience in this, but in my, wholly my opinion, it will be harder to become a successful Rust developer without an idea of what these areas are.

As I tell all people, Rust is not a language for teaching, it is a language for doing.

whenever I make posts like these, I get comments like "ugh I really hope this person has no say in anything, his opinion sucks!" so once again, this is my opinion.


Rust is big language. When learn it better know what your purpose for language. Rust can do anything and you can write high level code to. Just catch what you need and practice it. As mention @sinistersnare Rust is language for doing.