Object-Oriented Programming and Performative Poverty

All things go in circles. Sometimes, you're just in a weird spot in the circle.

Object-Oriented Programming and Performative Poverty

When I was 9 years old, my father left my mother. Neither of my parents had college educations. We went from living somewhat on the brink to sleeping on the couches/floors at various family member's houses while we awaited various mechanisms of financial aide to be processed.

When I was with my dad, one of his favorite things to do was to go through the dumpster/donation bins at the local thrift store. Sometimes we would find treasures, but a lot of the time we just found some of the weirdest stuff. (Thinking about it, this is probably where my affinity for weird things at thrift shops comes from.)

Because of the combination of a lack of disposable income and my father's affinity for sourcing things through questionable means, my "school clothes" were always a mixture of some new stuff that my mother had budgeted for, and some stuff that my dad found thrifting.

As I moved from school to school I was not only the "new" kid, but I was also the kid that had a closet full of some pretty obvious hand-me-downs and secondhand items. We can skip a lot of the stories, but this combination is a lot of how I learned to fight and generally deal with confrontation.

Eventually, we settled in some subsidized housing, I survived my first year of various levels of bullying and harassment, and things were stationary. I was able to slowly establish a small collection of clothes that were only a couple of years old slowly shirk the burden of things that had been found in dumpsters or (and this is true) on the ground at a gas station.

Life moves.

Your dad dies, you move to a bigger apartment, your mom finishes school and starts making a little extra money at her new job, then she gets remarried and you live in a house for the first time in your life, you get into a car accident and it almost kills you, you spend a long time in physical therapy, and things keep going and going and going until you end up being a twenty something sitting in your favorite Chinese restaurant.

A couple of guys who were a little younger than you in high school walk in. You recognize them, but you don't know their names. You're by yourself so you just casually listen into their conversation. You realize that they're comparing the prices they paid for things that "looked" vintage.

Oh, man, this watch looks like it was made in the 70's, but it's brand new and I paid like $400 for it.

I then take a deeper look and realize this group is wearing the brands that I used to find in dumpsters with my dad in the 90's. But, like, it's now fashionable and they're talking about their latest scores on eBay or whatever when buying an old "Stussy" shirt or a pair of Levi's that were "pre-loved."

Twenty years later, you find yourself in the same loop. The Snapcase shirt you bought in 2005 from the EVR website is now on eBay for $200. Kids are unironically wearing clothes like JNCO's and Tupac shirts. People are buying brand new cars to "live in" while they travel the country and work at coffee shops.

Maybe "performative poverty" is a bit harsh, but as I was starting to write this...they were the words that made sense and I don't make it a habit to backtrack.

Object-Oriented Programming

I started "coding" in 2010(ish). I started in a CS101 class at Idaho State University working in Java. The concept of "objects" have been the core of my software development ever since.

In those 15(ish) years I've seen so many cycles of going "away" from the idea of object-oriented programming. Every new language or framework comes out and touts how it's "so freeform" and "really just magic" so you don't need to think of things in a hierarchical, related way. Just store the thing in JSON and more magic will happen to just make things work.

An absolute rush goes to these new languages and frameworks. People start spinning out so many projects that show off how great this new tool is. "Look, I built a twitter clone in the Xulys framework, it's so fast." You then have a meeting with your engineering team and someone says "hey, I just read this article about a single person that spun up a twitter clone in Xulys and it's so fast, we should pivot!"

Cool.

So now you're three months in to trying to migrate your existing product to Xulys. You've realized that twitter clone was actually built on static JSON based database. Yeah, it runs okay in the example docker-compose, but when you try actually migrating your customer data in it completely falls on its face.

After a couple of months, you've either written a bunch of handlers or packages for Xulys to get even close to what you had before. You're closely monitoring an open-source ORM project that will allow you to convert your existing database to the new format that Xulys uses. You've finally figure it out how to host it in the cloud and make it compliant with all of your security demands and everything else.

Six months later, you've migrated most of your crucial systems and you start to realize that you've just shoehorned in the structure of an object-oriented application into a language that was supposed to be beyond needing that.

You've taken a long road back to the same road you were already on. It's a big loop.

Okay, but how does this tie together?

Life moves.

Things go in cycles.

You never know when things are going to come back around, when trends are going to die, when trends are going to devolve back into the thing that they supposedly killed.

There really is nothing overly profound here. It is just an observation in two lanes I see in my life.

I see spikes in people rushing to buy old Volkswagens because they're going to "live the van life" followed by the market dip when everyone realizes it's hard to own something 40+ years old.

I see rushes on eBay and the clothes I just donated 5 years earlier followed by a trip to the Goodwill seeing those shirts back on the rack for $1.

Maybe the profound thing is that don't be too quick to nail yourself anything. Be less quick to jump to the next ship. If it works, it works.

(Buy an old van.)