Retroactive nostalgia
There’s this strange feeling of not really knowing what to write. It’s weird because, in reality, I write a lot. I write about what’s on my mind in paper journals, reflect on what I read inside my bookmarking tool, and write all kinds of digital notes related to the things I learn. And yet, when I sit down to blog, I often feel more motivated to work on the tool than on the text.
Maybe it’s the stage fright; I don’t think I’m over it yet. Perhaps I’m afraid of revealing myself as just another “tech bro.” Or maybe I don’t enjoy blogging. Is it supposed to be enjoyable?
Once, in the middle of a job interview, I enthusiastically told my interviewer that I was a Linux user at home. Of course, it was on topic, not just out of nowhere. They looked at me with a face and called me a masochist. lol.
This was almost 10 years ago, and I still think about it once in a while. I was not impressed, to say the least, but I was not angry. I mean, I’ve been in enough uncomfortable conversations around the sheer idea of Linux. I know better than to be defensive in that context. It’s not worth arguing about curiosity and self-guided exploration with lifelong bureaucrats.
I started studying the C programming language earlier this year. I spent some time with it years ago, at the end of secondary school. Right around the time I first heard of Linux, in fact. However, I quickly drifted towards other, more useful languages for general scripting and web programming. It was not a bad call, considering I now write scripts and web pages for a living.
There are many reasons to learn C in 2024: it’s a simple language (on the surface), pretty much universal, darn fast, and has a special place in history. Other programming languages derive syntax from C, but many are also literally built with it. My favourite reason is that C removes some layers of abstraction, or brings you “closer to the hardware” if you will. I know it’s debatable, but I have found it true from my perspective as a PHP developer. It’s teaching me to think at another level. To be aware of things that are usually not even on my radar.
Honestly, it’s been a nice change from web stuff.
I was born in the late 80s, but I’m really a kid of the 90s. I grew up well into the rise of the personal computer. I was lucky enough to start with the text-based interface of MS-DOS, before moving on to Windows 95 and discovering the World Wide Web.
Can you be nostalgic for a time before you were born? Or something happening around you, that you were never even aware of? That’s pretty much how I’m feeling these days with retro computing. I’ve been reading a lot about Bell Labs and the creation of UNIX in the 70s. It’s blowing my mind just how much of our technological foundations came from the research that was happening there, over the last century.
Anyway, learning C and getting more into computer history is giving me a new wave of inspiration at a time when I really need it. It’s connecting the dots. I’m immensely grateful for all the resources available to me.
Digging into the past is fun, but it’s also making me think about the future. A lot of the software I currently rely on is written in C. I know that for many people these days, the idea of rewriting everything in newer programming languages is more interesting. I think I’m getting too old for this. I don’t want to “yuck anyone’s yum,” but I don’t feel that rewriting the world in Rust will solve most of my personal woes regarding the tech industry.
I keep finding a new appreciation for the value of maintaining what’s already there in technology. I’ve seen my fair share of software projects going from green field to legacy, often in less than a decade. Some of those have been my own projects. Maintenance is essential now more than ever, and I’m starting to think more seriously about how I could be a better part of this effort.
Many people feel it: the tech industry is in a bad spot. At this point in my journey, I find most of the inspiration that keeps me going elsewhere, be it art, graphic design, history, or retro computing. Looking back on my time as a professional programmer, I see now that I’ve cared a bit too much about “developer experience,” to the point where using lower-level, ancient tools feels refreshing.
I will not pitch C as a viable language to drive my future client projects. It’s obviously not the right tool for my line of work. But it is the right tool to get me out of my funk. It’s allowing me to explore and learn what I’m trying to learn. It’s making me reconnect with the idea that programming is a creative activity. The computer is not just a tool for computing but a medium for creation.