Learning Rust: A way of Thinking
Tags: mindset, beginners, programming, blst
Published: 2022-05-12 14:47:17



> “Sometimes life is going to hit you in the head with a brick. Don’t lose faith.”    
_Steve Jobs._

As you know, I just started with Rust and am still learning this language, and I was wondering what the mindset that I should adopt.

Following the publication of my [previous article](https://dev.to/nathan20/the-hidden-power-of-rust-7ap) on the RUST language, I noticed some comments in which people complained about the difficulty of this language.

Rust is not an easy language to learn and very different than others that I know. If learning GO or even JS is like facing a barrier, Rust may be like a wall.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yz3k2np4qwe4uvwr53gp.gif)

In this post We won't learn how to be a better developer, or how to perform in a specific programming language, but I want to share with you what I learned from more experienced people.
 
However I really think that every learning have a common basis: specific mindset and a strong methodology.
 

## Mindset of Champions
There is a difference between a mindset athlete and mindset developer. 
A mindset athlete is someone who is in it to win it. They have a one-track mind and are focused on their goals. They are driven and motivated by their results. 
A mindset developer is someone who is focused on the process. They are more interested in the journey than the destination. They understand that there is value in the process and that the process is what leads to success.

When learning any new skill, the mindset one brings to the task is important. This is especially true when learning a new programming language. The right mindset can make the difference between success and failure.

There are a few things to keep in mind when learning a new programming language. 
First, it is important to be patient. Rome wasn’t built in a day and neither will your programming skills. It will take time to learn the new syntax and semantics of the language. 

Second, be prepared to make mistakes. Everyone makes them, even experienced programmers. The key is to learn from your mistakes so that you don’t make them again.

Finally, have confidence in yourself. If you don’t believe that you can learn the new language, you probably won’t. Remember that you are capable of learning anything you set your mind to. With the right attitude, you will be writing programs in your new language in no time.
 
So There are things you can do to make learning a new programming language easier, I resume them:

- 1.
 Find a good tutorial or course.

This will help you get started on the right foot and learn the basics of the language. You can check my [previous article](https://dev.to/nathan20/the-hidden-power-of-rust-7ap), I mentioned some good places.

- 2.
 Don't be afraid to make mistakes.

Everyone makes mistakes when they're learning something new. Just relax and have fun with it.

- 3. 
Practice, practice, practice.

The more you use a language, the better you'll become at it. So find some friends who also want to learn the language and practice together, or even do project together.

- 4. 
Ask for help.

If you're stuck on something, don't be afraid to ask for help from someone who knows more than you do.

- 5. 
Persevere.

If you can keep these things in mind, you will be well on your way to learning a new programming language. Just be patient, make mistakes, and have fun, and you’ll be a pro in no time.

##Make your own Method

There are some general tips and techniques that can help make the learning process more effective, no matter which language do you want to learn the general process rest the same.

One of the most important things to do is to break the task down into manageable chunks. Trying to take in too much information at once is overwhelming and can lead to quickly forgetting what you've learned. Start with the basics and gradually build up to more complex concepts. It's also important to find a method of learning that works for you.
 
Some people prefer visual aids such as diagrams and charts, while others prefer to learn through listening to audio recordings or reading texts.

![Ownership concept diagram take from [reddit](https://www.reddit.com/r/rust/comments/mgh9n9/ownership_concept_diagram/)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/glamnk1n0zi2us9i8pw0.png)


 Experiment until you find a learning style that helps you retain information more effectively.

Another key to success is to create a positive learning environment for yourself. Make sure you're in a comfortable setting with minimal distractions.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zxdxktlg7flwj26q6a7m.jpeg)


It's also helpful to set regular study sessions rather than trying to cram everything in at the last minute. And don't forget to take breaks! Trying to force yourself to focus for hours on end without a break will only lead to frustration and fatigue.

Finally, one of the most important things to remember when learning RUST is to have patience with yourself.  Learning is a process, and as long as you're putting in the effort, you will eventually get there, do it your own way.

If you interested in APIs, Rust, or just want to drop by and ask a question, join our Discord channel - [https://discord.gg/34UxtkXP](https://discord.gg/34UxtkXP)


Give' us a star to our Rust [open source project](https://github.com/blst-security/cherrybomb).