Tuesday, May 3, 2011

Crayons

As I sit here finishing my semester project for class (due in two days, started at 12:30am) I realize one thing... explaining programming to a non-programmer is like teaching physics to a 3 year old. Due to this, I have been devising a way to explain this in terms a 3 yr old would come to cherish. Just follow these simple explanations and you will never have any more of those "wtf?" looks we all adore >.>;;




  • All aspects of programming can be explained using oil paintings, color by numbers, and crayons.
    • Oil Paintings - Programs sometimes take a LOT of background work to get the final, pretty end-product. As such, we need to start with one layer and slowly build upon it over time. The final product has depth, took a lot of time, and normally ends with somebody cutting off their ear. 
    • Color by Numbers - Programs often fit patterns or can be pieced together from things we have previously made. Because of this, you are basically coloring in the numbered areas. Say, one spot needs you to follow the Singleton pattern (only one of one thing can be made), you will have just ONE color to fill the number. You color this once. There is only one number for this color. You just gave the unicorn a golden horn! ^_^
    • Crayons - Often with programming for educational purposes, you are greatly limited in your variety of options to make the program. This can be summed up by saying you are coloring with crayons. Not the fun, 200+ color sets you had wet dreams about as a child. No, I'm talking about the crappy pack of cheap, off-brand crayons you stole from a restaurant because your parents took yours away for drawing on the walls.. Now, Crayons anger programmers, as we like to have (at the very least) 200+ colors just to color the puppy in the back of the coloring book. You only neeeeed 3, but why limit yourself? What if I want to shade? What if I want to give the puppy scenery? NOPE! 3 colors. Take it or leave it. </rant> With crayons, you are limited in your ability to be creative, but you have to finish the drawing anyways.
  • Each person programs their own way. 
    • There are many different styles of programming and many programmers consider it an art. While creating your masterpiece, each stroke adds a unique component to the final work. 
    • No two programmers do things the same. Painters have unique brush strokes, as programmers think differently they also write logic differently.
  • Copy and Pasting is a no-no.
    • Imagine you make a wedding invitation, but you have a spelling mistake. You only notice this after you have hand-written 30 different invitations. Now, you're a cheesy bastard and wrote them all in pencil. Go back and fix this by hand each time. This is why copying / pasting is not a good thing for programmers.
  • Talking to somebody programming is bad.
    • Programming is a hard process to stop and start up again. Imagine you are on a pogo-stick. To start, you have to get into it and keep going without stopping, or you have to go through some effort to start back up, yes? That is the same with programming. When you interrupt a programmer, you basically kick the pogo-stick out from under them, laugh as we hurt ourselves falling, and then hold the pogo-stick hostage until you finally go away. After this, we have to set it back up, start all over, and go until we're interrupted again. Sometimes, this cannot be done, as we are too shaken up from the previous fall that we are resilient to get back on the pogo-stick. We will secretly hate you for a few days for this, and pogo around you less. Let's face it... you're the jerk that wont let us pogo.
  •  Time flies when you're having fun!
    • Programming... It's as addictive as pistachios.(10 points to whoever gets the quote) Programmers normally have fun doing what they love. As a kid, you could color for HOURS and think you only did it for a few minutes. The same is true for programmers. We get lost in our work and end up forgetting things. Forgive us and pass the crayons.
That is about all I have, as I need to get back to my programming.

No comments:

Post a Comment

back to top