I am currently going through learning a new programming language. Deciding the language took me a bit longer than excepted, maybe a bit too long. Anyways, I have decided to go all in the Rust programming language.
Rust is an open-source systems programming language that focuses on speed, memory safety, and parallelism. Developers are using Rust to create a wide range of new software applications, such as game engines, operating systems, file systems, browser components, and simulation engines for virtual reality.
Rust has been chosen in the past years as the most loved programming language in stackoverflow surveys. It is used and trusted by many large companies such as Firefox, Dropbox, and Cloudflare.
Here are some of the best reasons to choose Rust as your main language:
- Rust Solves Memory Management Problems
- Rust’s Static Typing Ensures Easy Maintainability
- Rust Has Fast and High Performance
- Cross-Platform Development and Support
- Rust Has an Expansive Ecosystem
I would say that Rust is a kind of mix of C & C++ programming languages. It has taken the best features from both languages.
I don't have any specific plans for learning Rust but I'll list here some resources and techniques to help me on my process.
The most important thing for me in learning a new programming language is to create my own projects. Although, before being able to do own projects it is important to know the basics of the language well.
For learning the basics of the Rust language, I think that the best way to do that is to complete Rustlings, which contains a good amount of small exercises to complete with Rust. In my experience, doing different kinds of tasks helps to learn concepts better and become more familiar with them.
Other good ways for learning are reading the official Rust book which is free to read online but pays a little bit like a physical book. For more alternative and more practical resources I will suggest looking out Rust by example where concepts of the Rust book have been taken into real-life usage.
When trying some small features or ways to do different things, it may be useful to use an online editor/playground for testing those. For that purpose, there is a great online platform to use which is Rust playground.
For writing good, readable, and clean code, there are available a lot of free tools for doing that. For example, I would say that tools such Rustfmt, Clippy, and Rust-analyzer are some tools I recommend everyone to try.
- Rustfmt -> A tool for formatting Rust code according to style guidelines.
- Clippy -> A collection of lints to catch common mistakes and improve your Rust code.
- Rust-analyzer -> A modular compiler frontend for the Rust language
These mentioned tools are just optional ones, but anyways I would suggest using them because of reasons I've mentioned in the past.
Even I have not been using Rust for a long, I have some experience with it. Here are the most important ones that come into my mind:
- In my opinion learning Rust takes a lot of time, especially for someone who comes from languages like Python. I used Python before and I have found this different kind of language such hard to understand.
- It is important to know the basics of Rust before going any deeper on it because at least then you find it really draining.
- You have to be patient in learning and not give up as easily as I often do.
Rust is an absolutely game-changer programming language that I think everyone needs to learn at some point in their journey. I believe that the links and resources mentioned in this post will help you to get started on the journey...
Follow me on socials to get updated: