Learning something new, but not fully new?

July 5, 2025

Doing something hard is hard. Learning a new programming language is hard. Naively, I speed ran through the first half of the Rust programming book and grasped the concepts pretty well. Eventually though, lifetimes came to end my good time. I’ve never had to think about programming in the way that lifetimes are teaching me to think. When I think of low level programming I think of C. I think of having to create space, update space, and free space. So to me, it was either high level and just letting the language do it, or C where I had to do it. Now with Rust, it is like this whole new beast. The borrow checker is always watching me, always preying on my dead variables. Having such a powerful system telling at every step what I’m doing wrong is something I’ve never had in programming. With C, I just declare stuff, pass it around, and free it(optional). Who cared if I leaked a gigabyte of memory if my program worked. In Rust, it’s like I’m in a perpetual wrestling match where I get one hold on a red squiggle then my whole function suddenly turns into a red squiggle. Everything about writing the code feels so familiar, but I just can’t fully translate into this language yet. It’s so weird, but helpful that Rust just always knows what bugs are gonna happen while I’m typing.