# Overview of Rust

There seems to be a lot of hype around Rust recently. Especially in the Linux community, Rust seems to be gaining popularity. One of the reasons for it is the GTK 4 toolkit and an unofficial gtk-rs (opens new window) bindings project for it.

I wanted to explore why that language became so popular, so I decided to learn it, at least on a beginner level. The lessons I've learnt have been noted in the Rust Series.

I think the language is quite interesting and its heavy focus on memory safety has high impact on how the programmer writes code. You have to kind of switch your mental model to what Rust requires and rememeber that variables should be modified in one context only. There also seems to be a lot of ideas from functional programming that Rust devs like to use, and Rust has some utilities built-in to make it easier to apply them (like the Result mondad). What I really liked was the match keyword and the ease of returning data with it. It's important to note though that Rust is quite a difficult language. There's lots of things to keep in mind, especially when it comes to sharing data between functions (even more difficult in parallel context). Personally, I still prefer the ease of C# and freedon of JavaScript/TypeScript over Rust, but I can see why many people seem to love it nowadays.

I've purchased the Rust in Action (opens new window) from Manning. I got so used to high quality of Manning publications that this book caused a bit of a shock for me. Somehow I could not get through it, it seemed to me like the author was delivering the content out of order, and it was just unbearable for me. I stopped in the middle, and picked the official Rust book (opens new window). I have to admit, it's one of the best programming books I've ever read.

The best way to learn any new programming language is to actually write some code. I did just that and created a small CLI utility called Puff. It is a fairly simple tool allowing you to manage certain files (like configs) in a central place with the help of soft links. You can view the code at GitHub (opens new window).

If you want to learn Rust, I suggest that you go through the Rust Book (opens new window). My content is a brief summary of that book.

← Go Home