I'm getting beat up pretty bad by Rust. I like it so far but man is it hard. Imposter-syndrome is almost making me lose motivation. Almost, but I won't quit, one day I'll get there.

I think the primary reason I think I'm having such a hard time is that I'm trying to learn stuff that prevents me from making some mistakes that I have never run into. I know a bit of the theory but no hand's on experience on double-free errors, memory leaks and weird low-level stuff. I read the documentation, mostly understand what stuff is for but when I go write code I'm just like "now what?". I don't have enough experience to know when and where to use some concepts and I'm super lost. I don't know where to start and the feeling of being completely overwhelmed by all sorts of new stuff is at the same time exciting and frightening.

I have never, as a programmer, thought something was hard. All of my past knowledge required dedication, work and patience, but I wouldn't say I ever felt something was *hard*. But Rust... damn. Rust is hard.

Hopefully at the end of this super steep learning curve I'll know a lot more stuff and have stronger "dev powers" and be one step closer to being as knowledgeable as some of you guys around here to whom I look up to.

  • 3
    First thing that helps is a different thinking of references. Instead of calling them mutable or not just call them:
    - exclusive reference (&mut) only one can exist at any time and you can change data through it
    - shared reference (&) multiple can exist at the same time but you can only read

    This is what I saw most people struggling with. Also don't care about lifetimes yet. Just roughly know what they do but try to avoid them. The compiler is smart enough to infer them more often then not.
    Pro tip: listen to what the compiler tells you. The error messages are some of the best out there and it often gives you some tips on what to correct.
  • 1
    Oh and don't be afraid to ask questions on r/rust

    The community there is very helpful and will be happy to point you into the right direction.
Add Comment