this post was submitted on 26 Aug 2024
140 points (97.9% liked)

Programming

17398 readers
105 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 !webdev@programming.dev



founded 1 year ago
MODERATORS
 

I want to learn Rust. There are so many resources available and I am unsure which one to go for, and if there are any tips on getting started?

I am a software developer by trade

Edit: Thanks for all the great replies!

you are viewing a single comment's thread
view the rest of the comments
[–] tiredofsametab@fedia.io 8 points 2 months ago (1 children)

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).

[–] Iapar@feddit.org 0 points 2 months ago (1 children)

What is the borrow checker and why are people so frustrated by it?

[–] tiredofsametab@fedia.io 3 points 2 months ago (1 children)

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.

[–] Iapar@feddit.org 2 points 2 months ago

Thanks for the answer!