Blog

Simplifying Programming: A Sports Approach

Demystifying Code with Analogies from the Sports World

image

I always knew why I wanted to learn how to program. I wanted to be able to create my own application one day and start a business from it. That has always been consistent. But, as a self-taught programmer, I've always struggled with comprehending the "why" of programming.

  • Why a line of code written one way is optimal, versus another
  • Why understanding the fundamentals in the beginning is so important when you can't visualize when or how you will use it in your applications
  • Why you should understand how the computer works when all you want to do is build something

If you're like me, this can be pretty frustrating and lead to a lot of questions such as, "Am I smart enough to be a programmer?", "Am I wasting my time?", "Do I need a CS degree to be successful?" Every tutorial I watched or blog post I read all used the same types of examples. Some were easy to understand and some were beyond my scope of knowledge. I was always looking for a solution to what I felt was a learning disability.

I have what I would call a very "simple" brain. I don't understand complex things very well and have never been at the top of my class. My best subjects in school weren't math or science, they were history and geography. I equate this to the fact that I have a very good memory and can remember when something happened (history) or where something is (geography). Theory has never been something that makes sense to me.

You may be reading this right now and be thinking, "if theory doesn't make sense to you, I bet you're not a very good programmer" and if you are thinking that, you have every right to be. I'll be the first to admit, I don't know if I'm a "good" programmer. I'm not sure I ever will have an answer to that question because that's very subjective. To you, I may not be. To someone else, I very well may be.

Nevertheless, I will continue to try to become a better developer each and everyday. I've come too far to quit and honestly; I have fun programming.

"Get to the point..."

Ok, ok, let me speed this up and get to the why of this post. What I want to do is help anyone else who has a "simple" brain understand the "why" of programming. This is the first of what I hope to be many blog posts tailored to those types of people.

I'm going to try to do this by explaining programming concepts from the lens of a sports fan. Most programming tutorials never talk about sports and when I was learning to program, I always wanted them to. Hopefully no one gets upset by me categorizing all sports fans as simple brain people but most will understand what I mean. Sports are complicated but let's be honest, it's not rocket science.

As a suggestion by my mentor, I am going to start learning C in order to try and solve one of the why's I mentioned above: why you should understand how your computer works. C is a general purpose programming language and in order to fully master it, you need to have a good understanding of how your computers memory works.

Even though this series will follow me through the world of C and relate it back to sports, I'm a JavaScript developer at heart so I will always try to relate it back to that as well. My main goal through this process is to not only help someone else learn programming through the lens of a sports fan but also to improve my skills as well and ultimately become a better web developer because of it!

    © 2023 Jay. All rights reserved