• boobies@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 hour ago

    Depends on how fast you memorize and understand its 5 rules for ownership (3) and borrowing (2), and how much effort you put into memorizing its types.

    The biggest hurdle I had with it is not reflexively understanding how the intermediate types it has work and how to bounce between them. For example: String -> &str -> String. Collection -> filtered/split slice of it -> back to Collection… It’s often not just 1 type either, it’s multiple types which you get by functions declared in traits… Just typing this is giving me a headache.

    Combine unintuitive types/not knowing them all by heart with not fully understanding borrow/ownership rules, and you’re going to have a bad time.

    Long story short: it’s a fantastic language, and I hope I never touch it ever again. I don’t really need types or memory safety for what I do, but I appreciate it for what it is.