Rust’s Defender


I was first exposed to computer programming in 2015. But please, try not to attach my programming experience to that time. It was through a movie, an Indian movie, I can’t seem to ever remember its title. One of the characters – the bad guy actually – caught my attention. He was a lot of things: a traitor, genius, good looker, and hacker…a hacker. The amount of power he had was ridiculous. With just his laptop, he was able to turn the tide of the entire operation in his favour. There was one problem though, I didn’t have a laptop. Sometimes I used my dad’s laptop but not frequently. My saving grace was “Xeus hack”, a mobile application I installed on my phone. It came with lots of articles – bash programming, zip bombs, etc. My “Hacker career” went along fine till I got to a certain chapter. A line read, “what differentiates a “script kiddie” from an actual hacker was programming experience”. I had no programming experience. Lucky for me, at the end of the article, there was a list of programming languages, and at the bottom of the list were Python and Ruby. I randomly chose Python. I still didn’t have a laptop at that time, so I used a mobile application, “Q python”, to write my python scripts. The moment I wrote and ran my first line of python was the last time I thought about hacking. A world of possibility opened up to me.

At first, I didn’t know anyone else into programming when I was in school so I learnt to keep myself motivated. Eventually, I met other people. In 2018, I got my PC, started learning web dev, hated javascript, and learnt Django. 2018 would be what I term the start of my programming journey. 2019 specifically was a turning point for me. I wanted to build my first web project, so I immersed myself in learning. I like hands-on learning and I guess the challenge at hand spurs me on… see what I did there? One more – and idle hand is the devil’s workshop. Around this time, I met this guy at school, the University of Abuja – Segun. He kept going on about typescript and Go. As the reasonable man I was, I decided not to learn Go. For some reason, his enthusiasm built an internal resistance in me towards the tools. I am not proud of the man I was. Anyway, I googled ‘alternative to Go’. There were a couple of results but one stood out, “The most loved programming language”. At that point, I knew I was going to write Rust. It was even more loved than Go. I found Rust’s syntax appealing, it drew me in. I even thought it had a similar syntax to python…I was young and naive. The tears came, eventually. In 2020 I had already gotten a bit used to Rust, but my learning was on and off. My love for it remained. I championed it in every group I was in and tried to answer as many questions as possible. I even managed to push Rust in once or twice into this weekly meeting I used to host. In 2021, Rust seemed to have grown in popularity and people seemed more susceptible to my prompts for them to learn Rust. There’s this javascript group I was on where I became popular because of my shouts for Rust though I didn’t know much about it. Lucky for me, there were a couple of people with more Rust experience than I. Appcypherwas one of them. So they were there to help when prompts came and it was about that time I found out about Rust Nigeria.

In all my evangelism, a major question that people seemed to ask was ‘can you make money with Rust?’ People didn’t find it prospective. ‘You haven’t made any money in Rust’ and I sort of agreed…well not entirely. I had written an article on rust, a paid article. I kept trying to get them to understand that if you write code solely for making money, you might not be able to like rust or a couple of other languages and tools. Its learning curve is steep but the fact remains that Rust gave so much power. Who wouldn’t want that? At the end of 2021, people started writing year-in-review. I noticed a trend – ‘…I plan to learn Rust next year.’ This year, 2022, Rust’s popularity exploded. It caught on. Its job availability went up and the antagonising about it went down. In fact, if anyone ever spoke against it in groups I was in, I didn’t have to defend it. There were others who would do that. Backend, Frontend, everyone started learning it.

So far, I’ve been reading the book “Zero to Production”, and I’ve had lots of fun working on the projects in it. I’ve also collaborated with other Rust developers on projects like Lazer Pay’s Rust SDK. I worked with Enochwho I met on the Rust Nigeria group chat. In fact, if the Rust Nigeria community hadn’t been created, I probably would have created it myself. A personal favourite of mine is the Thanos Project – a program that randomly deletes exactly half the number of files in a folder and I still have a couple of features I intend to add soon. That project taught me how to work with Rust’s documentation and I developed the notion, one I still hold, that all documentation should be like Rust’s. Another thing about Rust that makes me an unrepentant champion is the Rust philosophy, the philosophy that went into its design. The philosophy of “no breaking changes”, the compiler design, Just genius. I am not saying somewhere along the line we could not find something wrong, but, right now, it’s the closest thing to perfection in my opinion.

My goal for Rust in the future is to write more Rust. To slip it into as many projects as possible that I can, to give talks on it, and more. Like a donkey baited with a carrot, the fun of battling my way through tons of red lines and compiler error messages appeals to me. Rust has opened me up to meeting new people and having new experiences, so you can be sure that I’d always defend it at any chance I get.

This Rust story is based on Ayodeji Adeoti’s experience learning and using Rust.

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

Kubernetes Audit Logs – Best Practices And Configuration ✨

Next Post

Ready for S’more? The MozCon 2022 Day Two Recap

Related Posts