this post was submitted on 26 Aug 2024
138 points (97.3% liked)
Programming
17313 readers
252 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I agree with the others who say to start with The Book -- https://doc.rust-lang.org/book/
From there, start trying to create small things that you might want or need to do (parsing JSON is something that I needed to do and I started there).
From there, you will learn to fight the borrow checker and start to feel how rust is working. This will be annoying at first, but get better over time (at least in older versions of Rust; I haven't used it in a while so it may be different now).
What is the borrow checker and why are people so frustrated by it?
Very TL;DR version: a variable has an owner. If you pass it off to another function, you no longer own it and can't use it until/unless it gives the variable back. Rust can be really strict on making sure you aren't trying to use something you don't own at that time. The documentation explains it better than this (and I wrote a longer post but accidentally closed the window and lost it). See also mutability and lifetimes for some pain points people might not be used to.
Thanks for the answer!