How to learn rust so you don't quit mid-way and restart from zero again

I am starting to learn Rust having no prior coding knowledge or cs background.

I tried fimiliarize myself with the syntax of the language, doing basic loops, conditionals, structs enums, and datatypes while being bombarded with a new term each time.

I am here to ask for advice on how to be consistent and progress in this journey instead of learning it for a while and then forgot about it and comeback to restart from square one again.

One thing I have found hard is that every instructor either on youtube, articles, or even docs, presume that the learner somehow knows C C++ or any other language as well so they'd just give you references which you (I) won't understand.

This makes things complicated for someone who just wants to start from a language that's supposed to be safe, fast, and has complicated concepts which in my opinion should be easier to grasp for someone new to programming than someone who is used to a different language's way of doing things.

Please guide me how to learn rust if you're completely new to programming.

Be realistic and accept there are limits to what you can learn as a newcomer.

Here you are describing the learning process itself. You can't learn without learning. Just accept that learning is basically being consistent and trying to assimilate a new concept at a time.

Maybe there are concepts that are easier to assimilate by someone new to programming, but if that's the case I bet they are only a handful of them. For the vast majority of the cases I think it will be easier if you have learnt another programming language before attempting to learn Rust.

In general, I think the most straightforward advice one can give you is to try to find learning resources aimed at total newcomers. And don't feel bad if you need to take a break every now and then, that's also absolutely normal.

Thanks for this honest feedback.

Can you suggest something (Course/Resource) I should follow?

(and I think I should have clarified this earlier, by the "New to Programming" thing I meant that I don't have expertise in a certain language, though I can write basic python/javascript. its just that I am not confident or used to a certain way/language of programming. )

Well the simplest advice is to find something specific you actually want to program rather than just "learning Rust" - an effectively endless task (certainly I'm still learning new things about it after more than 5 years)

The easiest way to get knowledge to stick is to have both motivation to learn it and a real grounding as to why it needs to work that way.

You can write Rust with just functions, some basic core types like u32, String and Vec, and a few flow control statements like if, loop and match. That lets you get some real example that interests you working initially, then you can start looking into ways to make your life easier.

Maybe you used unwrap to avoid needing to deal with Result, but now you want to correctly handle bad input, so you can look into how that works. Maybe you want to read stuff from a website, and you just copy pasted the page to get started, and now you want to add a dependency to read the page directly. Maybe you just have too much code for one file, and you want to learn how to modularize it.

And if you already know all that... you're ahead of a bunch of people already, there's no need to be so worried!

Programming isn't a skill you learn quickly, at least for it to feel comfortable: that comes after years, not weeks. Rust in particular has a lot more than many other languages to learn; but most of it you don't need for quite a long time.

If you are stuck for ideas to start with, one that I think is a pretty good sized project is a simple language interpreter. It doesn't require any external dependencies, it has lots of information on how to write one in general available, it breaks up into lots of little byte-sized chunks, you have lots of room to experiment, and you get something fun to play with at the end. But the most important thing is really that it's something you find interesting, so as long as you don't have too unrealistic expectations (like writing a full commercial MMO!) it's better to shoot for that even if you miss.

This. Programming Is very very similar to artisan (and artistic) work. You can't learn programming "in theory" without doing it. Find a problem, any problem, and try to solve it by writing Rust code. That will show what you understood and what you missed. Your code will be ugly and wont work at first but keep at it and it will get better.

(Note to others: I am not saying that theory isn't important, just that you need practice to go with It.)

Programming is one of those areas where your learning progress is not consistent. You will struggle a bit at the start then really progress quickly. You will likely plateau for bit, then improve again.

The awesome-ness comes when you can make it as enjoyable as possible. Good coffee or tea, music, and nobody bothering you. Being in a flow state like this makes learning enjoyable and struggling bearable.

Is there anything you want to build, have, or need? Books, manuals, and vids are cool, but they don't provide drive. If you find or have something you want to accomplish with Rust, that should hopefully drive you. Any current projects?

Here are some things you may consider while learning. Others may not approve.

  • Ignore paradigm as much as possible at this point. That allows you to..
  • Keep the code as simple as you can until you and the borrow checker are mates. You will pretty quickly find yourself more comfortable and ready to introduce more things.
  • Related to the above, there are lots of links and thoughts out there on learning how to deal with the borrow checker / compiler output. I used this search term in the Brave search engine ( "Explaining Rust compiler errors" ) and was pleasantly surprised. Wish I had thought of it sooner.

The struggle here is getting to the point where you think in Rust. When you just automatically know that you need to put "&" here and "mut" there. And it will go deeper as well. Just yesterday, as a matter of fact, I needed to search a directory structure in one project, but before actually using recursion, I considered how deep into a rabbit hole me and the borrow checker might have to travel to get this working! So I changed strategy (no recursives calls), got it done, and imagined in my head that the borrow checker was standing over my shoulder giving me a thumbs up! LOL.

All the blather above said, you'll be fine. Relax, have a drink, and grind away. :wink:

Man this is the best community I've gotten in, first of all. And thank you everyone who actually took time to help this newbie.

Is there anything you want to build, have, or need? Books, manuals, and vids are cool, but they don't provide drive. If you find or have something you want to accomplish with Rust, that should hopefully drive you. Any current projects?

Yesss! I've been coding a notes cli application that lets me save notes. and it works fine. this is my first project in rust. it is simple and I learned how to parse cli args and work with them. I learned about how to work with files using the standard library (std::fs) and now this is what I use to take notes. Here's the screenshot of how I've been using it.

until now the complier has been kind to me... I hope for the best ahead.

PS: I am also thinking to improve on this notes app to have a streak feature so it forces me to actually keep notes and it'll be fun to impliment too. (I have no idea how to do it, YET.)

Awesome! That notes thing is something I kind of wish I had.

Can I ask how the notes are stored?

I can relate/

I started my journey back in Nov. of 2025, and it's been diffcult getting the concepts and into the flow of learning as a newbee of programming.

I have digested and understood up to 13 chapters of the book.
And, even then, when I try rustlings my mind goes blank.

I hear it's perfectly normal to take breaks. A consistent routine of study time.

I know why I want to program but I still feel like I need to finish the book before I start anything. I know everyone is different, and we all have our reasons too.

I hope my message here, encourages you to keep studying and that you aren't alone either.

Thank you, man! and yeah, the rustlings part is on point.

well, at first I was just storing it in a txt file using the fs but today I just made the changes learned how to use a database with it and now it stores all the notes locally in your machine in an sql db.

also, I just published it on crate.io too if you wanna try.

added a few more features too. specially the piping, you can use the notes you've created and pipe them with another unix command.

and you can tag your notes too so you can find them easily later on.

crates.io: Rust Package Registry you can see the it here. or just "cargo install terminotes" I'd love your feedback on this.

Advent of code is fantastic source for playing around.
Everything is still accessible so you don't need to wait for this years iteration.

If you're the competitive type I recommend codinggame.com the most awesome part about that site is that it is language agnostic and you can review published solutions across languages.
A pure goldmine in that regard.
Uh, but be warned compiling still takes a toll if you use a language that isn't interpreted.

If you really want to learn programming don't stick to Rust allone.
Read other languages to understand patterns that apply generally in the field of programming.
I'm not saying you should learn writing them, it is better to stick to a language to get familiar using it.
But you definitely should read other languages.
Things will easier "click" into place when you have broader comprehension.

That's awesome. Clean, simple, and perfect for what it does.

And I've been interested in sqlite so you're teaching me something here.