Why I’m Writing A Blog About Programming Metaphors

Who Are You?

My name is Anna Leuchtenberger, and I love programming. I have a “nontraditional background”, which seems to be increasingly common, as more people learn how to write philosophy papers so their computer can read them (tell me that’s not what coding is) and discover that they! too! can hold forth in heated debate with their computer on the nature of reality.

Only – unlike those 3AM freshman-year philosophy conversations in the dorm common room – if you win the debate with your computer, you get to define what reality is.

What *Kind* of Non-Traditional Background?

I was a creative writing major in college! Partially because I wanted to live off of beans and rice indefinitely (a complete protein), but also because it gave me enough spare credits and time to take classes in everything else (psychology, philosophy, biology, etymology, astronomy, poetry). Oh, and I like words.

If I’d been born a few hundred years ago, I would have tried to be what was called a “naturalist” – i.e., someone who figures out how things work by staring at them. I have a theory that this is because I never learned how to stop asking questions as a kid, I only learned how to ask them silently, so I wouldn’t get shushed.

E.g.
Q: Where does that bug live?
Q: Which birds are the boss of each other at the bird feeder?
Q: Why are those people acting that way?
Q: “Why didn’t you become a scientist, Anna?”
A: “Couldn’t choose a field! Sorry!”

So, Why Are You A Programmer?

Because IT’S THE BEST? Um, but seriously, I guess partially because I get to figure out how things work – all kinds of things. Getting to ask questions is a perk of programming, a tool of the trade – like knives in cooking, nail guns in carpentry, dynamite in demolitions, vague language in middle management. I get to ask questions all the time, and go looking for answers! And the answers are endlessly captivating.

There are as many complicated and bizarre reasons why libraries or languages or codebases are built the way they are, as there are bizarre symbiotic relationships in nature. Code, similar to biological evolution, emerges in the context of what came before it, frequently emerges in response to it, and is part of interlocking systems of feedback loops that are sometimes only barely perceptible.

And despite being known as the language of logic, code is – uh – written and designed by humans.

Ergo, shenanigans!

Like anything that humans do, code and its implementations are unintentionally filled with subjective judgment calls. Looking closely at code, or underlying assumptions about how it will be used (or what populations should carry what risk) can reveal logical blind spots, cognitive bias, and faulty assumptions on the part of the creators. The overall impact of certain technologies is sometimes vastly different from what was intended, and can shift the seismic plates of mainstream culture.

…And also, because it’s written by humans, code is full of poetic grace and humor.

At its essence, code is a visual form of thought, preserved in time – a structural remnant of a split-second mental burst, like how the shape of lightning is preserved when it strikes the beach and melts the sand to glass. Sometimes you can still see traces of the thoughts that went into the code. You can still see the bolt of lightning that hit the beach.

So in the end, I never had to choose a field of study, because code is full of the things I already love and enjoy: philosophy, psychology, etymology, elliptical orbits, odd evolutionary adaptations, and poetry.

What’s This About Metaphors?

When I learn new concepts or systems, I think in metaphors—they jump into my head, fully formed.

I hope this blog will be like a little aquarium, where I can skim programming metaphors off the top of my head as they surface, and plop them here to bob around. As I explore different concepts, I hope some of these metaphors may be amusing, or perhaps even useful, to other humans who like writing philosophy papers for their computers.

And if someone is reading this who hasn’t yet done so—perhaps I can tempt you to try.