favicon here hometagsblogmicrobio cvtech cvgpg keys

I fell in love with Rust

#programming #rust

uncomfyhalomacro | 2024-04-23 | reading time: ~4min

For quite some time, I am getting more interested in programming languages that have good documentation, a large community and accelerating adoption in various sectors in the industry.

Rust came to mind. I just want to write this because there are some things in Rust that actually make sense to me as a language. I might be guilty that I have been influenced by the hype since the start of COVID-19, but after 3 years or so, learning the language, talking with people, reading again the documentation - things have started to make sense and that's why I fell in love with Rust. Here are the whys.

Shared Behaviours§

Although, these concepts are most likely OOP, I never really appreciated OOP in Python. Maybe because of lack of experience? Or interest in the language? Or maybe I just hate Python. I never said I won't be biased in this post so...

Anyway, a shared behaviour in Rust is one of the best things that makes sense to me. These are called traits, and Rust actually stole this from Java's interfaces.

A trait will look like something like this

trait Fruit {
    fn has_seed() -> bool;
}

struct Apple { species: String }
struct Banana { species: String }

impl Fruit for Apple {
    fn has_seed() -> bool {
        true
    }
}

impl Fruit for Banana {
    fn has_seed() -> bool {
        false
    }
}

And it's a very nice addition to Rust. Whoever thought of this is a genius!

Generics§

Rust's generics are one of my favourites. It allows more flexibility and fine-grained control. For example, there are many environments of how a fruit is grown, be it LaboratoryGrown, or Natural.

trait Fruit<Kind> {
    fn has_seed(kind: Kind) -> bool;
}

impl Apple<LaboratoryGrown> {
    fn has_seed(kind: LaboratoryGrown) -> bool {
        false
    }
}

impl Apple<Natural> {
    fn has_seed(kind: Natural) -> bool {
        true
    }
}

Some concepts that took me months to understand§

Who owns who?§

At first, when I was starting with Rust, I didn't understand the ownership system because I don't have experience writing in C or any language that involves pointers and references heavily. However, I self-studied just enough to understand these concepts and it's starting to makes sense! Well to me...

Although, I don't have years of experience writing in C, Rust babysits me teaching me about references and pointers while also protecting me from mistakes like using the same pointer to manipulate data, or doing stupid shit like dropping data from the heap too early.

I am resuming to learn C a few days after this to understand footguns Rust wants me to avoid.

Abstractions pamper me§

Rust just hides away some of the abstraction from you but also shows you that these elisions (thanks firstyear, new word) are not actually hidden. They're just common patterns most would take so elided so that they can be written a little less verbose, and a little less yuck.

Rust ecosystem§

Rust has like many popular crates to choose from. The community loves to curate and makes it way easier to getting started with Rust even for someone like me who still considers himself not a good programmer. I still do think that I am not good but I love to learn cool stuff.

What actually made me fall in love with Rust§

The reason is because of Rust's syntax. I know, someone may already have expected, "oh you love Rust because it's blazingly fast!!!", but the reality is, what got me hooked into Rust the first time was actually its verbose syntax. The first time I tried reading it, its verbosity made me feel comfortable like it's not hiding anything from me. Whereas, in Python, I always feel uncomfortable... I am not sure why, even though I have some experience with it during the Hyperskill beta test by JetBrains of which I completed at least 90% of the beta test.

But yeah, Rust's choice of symbols for its syntax and the feeling of "I am not hiding anything, I can tell you if you ask the right questions" is the reason I fell in love with the language.

BTW, I also heard you like Julia§

Nah... can't hate what I haven't written for a while. I guess packaging Julia is a pain in the ass, that much is true.

Articles from blogs I follow around the net

[WFD 26] multi-domain routing from a single next.js server

what i learned serving two different sites from one Next.js codebase using middleware hostname detection, rewrites, and a Caddy dev proxy.

via Ryana May Que — Writings for DiscussionFebruary 13, 2026

On Discord Alternatives

Next month, Discord is going to start requiring age verification. The backlash from gamers everywhere has been predictable and justified. I guess their company name checks out. I’ve had a few people reach out to me because of my prior vulnerability disclos…

via Dhole MomentsFebruary 11, 2026

2026-01-14: The Day the telnet Died

A long, long time ago I can still remember how a protocol used to make me smile And I knew if I had my chance That I could make those botnets dance And maybe they'd be happy for a while But January made me shiver With every packet I tried to deliver Bad n…

via GreyNoise LabsFebruary 10, 2026

Recently

ListeningDie In Love by Greet DeathVia David Crespo, I got into Greet Death, a band that's been hustling since 2011. It's great in a simultaneously familiar and innovative way. The album has a great amount of variety: Small Town Cemetery is a really effect…

via macwright.comFebruary 03, 2026

The role of the Software Engineer in the age of AI

Introduction For the last year or so, I’ve started using AI tools like ChatGPT and GitHub Copilot to help me with my software engineering tasks. For most of the time, these tools have been a great help. GitHub Copilot has helped me automate boilerplate…

via Christian Visintin BlogFebruary 01, 2026

The cults of TDD and GenAI

I’ve gotten a lot of flack throughout my career over my disdain towards test-driven development (TDD). I have met a lot of people who swear by it! And, I have also met a lot of people who insisted that I adopt it, too, often with the implied threat of appe…

via Drew DeVault's blogJanuary 29, 2026

2025 in review

Come along with me as I review the past year. Heh, I often start these kinds of posts right at the start of the year, but it takes a few weeks longer than I ever expect to think them through.1 Two years of being independent After a second year of operati…

via seanmonstarJanuary 27, 2026

The Birthday Paradox, simulated

I'm a fan of simulating counterintuitive statistics. I recently did this with the Monty Hall problem and I really enjoyed how it turned out. A similarly interesting statistical puzzle is the birthday paradox: you only need to get 23 people in a room a room…

via pcloadletterJanuary 23, 2026

Status update, January 2026

Hi! Last week I’ve released Goguma v0.9! This new version brings a lot of niceties, see the release notes for more details. New since last month are audio previews implemented by delthas, images for users, channels & networks, and usage hints when typing a…

via emersionJanuary 21, 2026

The Only Two Markup Languages

There are only two families of proper arbitrary markup languages: TeX and SGML I would normally link to official thing as reference but it's behind the "wonderful" ISO paywall: ISO 8879:1986.. By arbitrary, I mean the grammar specifically, and how it can …

via gingerBill - ArticlesJanuary 19, 2026

Gbyte leaks gigabytes of data - #FuckStalkerware pt. 8

plus an MMO boosting service, fully remote Android spying and patented ToS violations

via maia blogJanuary 06, 2026

Whiplash and the ideas of success

Some ideas about success and analysis of some of the concepts of the film Whiplash

via Ishan WritesJanuary 04, 2026

Merry Christmas, Ya Filthy Animals (2025)

It’s my last day of writing for the year, so I’m going to try keep this one quick – it was knocked out over three hours, so I hope you can forgive me if it’s a bit clumsier than my usual writing. For some strange reason, one of the few clear memories I hav…

via LudicityDecember 27, 2025

Why are people migrating away from GitHub?

I noticed some people migrating away from GitHub recently. I was curious to understand the rationale. Is it a blip or is it a sign of prolonged exodus?

via Rob O'Leary | BlogDecember 22, 2025

Yep, Passkeys Still Have Problems

It's now late into 2025, and just over a year since I wrote my last post on Passkeys. The prevailing dialogue that I see from thought leaders is "addressing common misconceptions" around Passkeys, the implication being that "you just don't understand it co…

via Firstyear's blog-a-logDecember 17, 2025

Testing multiple versions of Python in parallel

Daniel Roy Greenfeld wrote about how to test your code for multiple versions of Python using `uv`. I follow up with a small improvement to the Makefile.

via Technically PersonalJuly 21, 2025

LLDB's TypeSystems Part 2: PDB

In my previous post, I described implementing PDB parsing as a can of worms. That might have been a bit of an understatement. PDB has been one "oh, it's gonna be twice as much work as I thought" after another. Implementing it has revealed many of the same …

via Cracking the ShellJuly 07, 2025

#Rx Writing Challenge 2025

This is a short reflection on my experience of the recent writing challenge I took part in. Over the past two weeks, I have participated in the #RxWritingChallenge 1—a daily, 30-minute writing group starting at 9 AM every morning. Surrounded by fellow doct…

via Ul-lingaApril 05, 2025

Generated by openring-rs

favicon here hometagsblogmicrobio cvtech cvgpg keys