Object Oriented Procrastination
It is principally suggested that Object Oriented Programming should mirror real life. While fundamentally simple, this is not the easiest concept to grasp. It can be a helpful guide when navigating DOM structure, understanding inheritance, or grappling with hierarchical attribute architectures but how does it help us understand Meta-programming arguments declarations?
In my real life, arguments are something I avoid and the idea of creating an environment where they can declare themselves from an unrealized metaconsciousness sounds like a new hell. In the infancy of my journey as a developer, I’ve stumbled upon a few undeniable relations between OOP and real life:
-Like Real Life, programming can be difficult and frustrating. And like Real Life — Breaks are important. Whether a stretch, a stroll, or pomodorito its important not to over indulge. A few days ago, I pushed aside a syntactical debugging I was disoriented in and took an Instructors advice to instantiate a break. “Break” of course translates to “do other things on the Internet.” This is the story of that break:
I opened a message that read“Have you heard of Trackers?” and followed a link. Trackers are old, rudimentary sequencing software. A Tracker presents the user with a vertically oriented list that executes commands at predetermined moments in time.
I saw that, like an array, it started at zero. That objects have hexadecimal values, are grouped into Modules and are programmed through standard input. These words made sense to me, I was intrigued. Created as a programmatic solution to make computers generate sound, The Ultimate Soundtracker kicked off a wave of open source software. It was 1993. An admittedly UrbanMythish sounding reddit thread explained that ‘Coders on the Demoscene used trackers alongside their code-generated visuals the demonstrate their technical prowess.’ I had never heard of Trackers, I had never heard of the Demoscene.
It felt like a turning point in a William Gibson novel. Crews of coders writing massive compositions in elegantly small files. Trackers turned into Drum and Bass, turned into BreakCore turned into a particullarly bewildering modern movement called Black ‘Midi’.
The next thing I knew I was staring at the code for MilkyTracker typing “procedurally written languages” into Google. I stopped and remembered I was taking a break.
One of the first things suggested at Flatiron was to find something you love about coding. Personally, I love manipulating data. Turning A into B feels crazy. Pushing things around under-the-hood in a digital space makes you feel like giant. I think all of us who embark on the journey of becoming developers take those first few steps for the same reason — it feels awesome. Its exciting and powerful.
Learning code is not easy. It’s hard. Let’s ignore Syntax, Language, and every line of code you or anyone else has written - Its hard to stay focused. It’s hard to remember that you are not learning how to manipulate databases because you want a job — Its because you want to know how to manipulate databases. Breaks are important. Perspective is important. I took a 20 minute break and remembered that I like the frustration. I closed my IDE (ok, minimized) and accidentally rediscovered the trail that lead me to Development in the first place. I know this is all a bit romantic but I think I mean it. I might be a minority, but remembering WHY I’m learning feels like an the best answer to the uncertainty of what the future holds. It put progress into perspective, and while there is quite a long way up the mountain to go, I am proud of every step I’ve taken so far. I hope this helps anyone reading remember that there is no one making you learn how to code, you like it :)