Before I begin, let me get one thing out of the way. Rust isn't a programming language, it is an experience. Okay, it is a language, but who doesn’t like an epic intro?
Two years ago, Eze came across Deno. Don’t worry, this is still a Rust story. What caught his attention was that Deno, originally written in Go, was rewritten in Rust.
Why? How? Go, supposedly one of the “big boys”, was replaced. He did some research and thought:
heck, everything should be rewritten in Rust
A quest he seems to have taken upon himself to begin.
He set time apart to learn Rust, and in the process realized the potential of what he could eventually do with it was endless. His first real contribution with Rust was to Deno, then Deno-lint. He did get some help though.
It wasn’t easy at first honestly. Finding what I could contribute to, then even contributing to it. I couldn’t have done it without the help of one of Deno-lint's main contributors, Bartlomieju, who put me through.
Along the line, Eze joined Hasura, and a mission in the quest to rewrite everything in Rust opened up. The mission was to rewrite the Hasura Graphql engine currently written in Haskell with Rust. A friend of his started the project, and he joined in on it. Although he said right now it’s just on the side, it has the potential to become a really large scale. The experience so far?
One thing is for sure though, writing it in Rust makes me feel like superpowers have been bestowed upon me. Really, compared to other languages I have written, no experience comes close.
His case in point - Eze was on an adventure in December, an adventure of code (advent of code). 5 programming languages - Kotlin, Rust, F#, Clojure, Haskell - and a pool of algorithmic exercises.
My experience during advent of code further increased my love for the programming language. For a relatively new programming language, it’s amazing how many resources there are on the internet. The rust community keeps churning out resources at unbelievable rates. When you search for the solution to a problem, you’re almost sure of finding the required solution in the first 3 results of the search. Run into an issue in Clojure…only the heavens would be able to save you.
Apart from the power, and possibility with Rust, there was something else that stood out to Eze - the community.
I am about to say something that might sound cringe, but writing Rust and engaging in the rust community has made me a better person, a more considerate person.
According to Eze, the community is full of nice, and passionate people, always ready to help.
Chances are the nicest developers around you, have come in contact with Rust.
Also, for the optimal Rust experience, there are coding practices and patterns that are ingrained into the language that makes you think of how the piece of code you are writing would hold in the larger scheme of things. How it would affect other contributors, and code refactoring if need be.
Then there’s the confidence boost. While working on the Graphql engine in Rust, Eze, and his team mate, had had to refactor quite a number of times.
Remember how I said Rust makes you conform to some patterns, they are for our own good. Refactoring has never been easier. You are almost certain that after a proper refactor, following Rust patterns, as long as it compiles, your code will do what it is supposed to do. That kind of experience does a thing to a man…It sends your confidence through the roof.
You know what, I reiterate what I said at the beginning. Rust isn't just a programming language, It's an experience.
This story is based on Eze's journey with Rust.