Skip to main content

Command Palette

Search for a command to run...

Confessions of a Python Programmer

A Love Letter to 'C' from a Bad Boyfriend

Published
4 min readView as Markdown
Confessions of a Python Programmer

Disclaimer: There was a time when I was a real 'C' coder. Yes, back in the day, I thought in 'C', dreamt in 'C', and basically lived and breathed 'C'. It was a beautiful, if somewhat monochromatic, world. But as life would have it, things changed—I got promoted, tied the knot, had kids, and generally got swept up in the whirlwind of adulthood. Amidst all that, 'C' sort of got shoved into the attic of my mind, like an old yearbook or that high school letterman jacket you swear you'll fit into again.

Now, there are mountains—no, entire ranges—of data that need navigating. Sure, deep down in the silicon-laced crevices of my heart, I know 'C' is still there, waiting patiently like a loyal old dog. But these days, I’m using Python. Why? Because it lets me say what I need to say without twisting my brain into knots. It’s like the difference between assembling IKEA furniture with an Allen wrench and a proper power tool—both will get the job done, but one is just so much easier on the wrists.

Ahem... quit dreaming.

If you've ever programmed a computer, you probably understand that it's a lot like eating a jalapeño; it seems like a great idea at the time, but it’s only later that you realize it might have consequences that involve crying and potentially, a lot of debugging. As for me, I spend my days wrestling with Python, but at night, under the cover of darkness, I admire the rugged, raw simplicity of the 'C' language.

You see, Python is the friendly neighbor who's always dressed in Hawaiian shirts, ready with a joke and probably a pie. It’s easy to like Python. The language is all about simplicity and readability. Sure, it's slow and by slow I'm talking about "molasses in January" slow; but you can practically read a Python script like a novel by Hemingway—straightforward, with no room for confusion unless you’ve had one too many mojitos. Oh don't get me started on mojitos!

Now, 'C' on the other hand, is that old, grizzled grandparent who fought in wars and still thinks technology peaked with the rotary phone. 'C' doesn’t do hand-holding or coddling. It expects you to know what you’re doing. And if you mess up? Well, that's your problem, buddy. This is the land of manual memory management and pointers that shoot off your foot if you're not careful.

Writing in 'C' is like doing your taxes with nothing but a pencil and a calculator from the 1970s. It’s painstaking, sure, but there’s a certain charm in knowing you could potentially create chaos with a misplaced semicolon. It’s thrilling, and fast, like driving a car that could either get you to your destination or explode any minute—adventure programming!

Python, though, is like using TurboTax. It’s efficient, less error-prone, and there’s less chance of an audit by the IRS—or in programming terms, fewer crashes and bizarre memory bugs. Python handles a lot of things for you, like memory management and having a rich set of libraries that can do anything from web development to data science. It’s all very cozy and convenient.

But then, why do I admire 'C'? It's because every once in a while, it's good to feel the gears of a machine, to know how the sausage is made. There’s a raw honesty to 'C'. It doesn’t try to be anything it's not. There's no garbage collection truck coming to clean up your mess. You allocate memory; you better deallocate it too, or face the wrath of a memory leak that acts like a slow kitchen sink drip overnight.

And let's not forget the legacy of 'C'. This granddaddy of programming languages built the software foundations of our modern world. The operating systems, the databases, the compilers—these digital titans were forged in the fires of 'C'.

So, while I write Python in my day job, helping build accessible and maintainable code, I reserve a nod of respect for 'C'. It’s not for the faint-hearted or those with a low threshold for pain. It’s for the brave souls who like their programming served with a side of potential disaster.

I am assured that, Python lets me express my ideas quickly and efficiently, 'C' reminds me of the beauty and danger inherent in creation. It’s like the difference between a well-organized, fully-stocked kitchen and a high-stakes BBQ pit. Both feed the soul, but in vastly different ways. And so, I write Python, but I tip my hat to 'C', the tough old bird that reminds us all where we came from.