The Joy of Coding

I’ve been slacking on my blog updates in part because I’ve been busy programming for two separate projects. To say it’s been engrossing would be an understatement… I’ve simply been hooked!

Regardless of the language, it takes a certain personality type to be a programmer. For one thing, if you like seeing the sun, then programming is probably not for you. Also, if your favorite foods aren’t flat enough to be slid under the door to you by a loved one or concerned coworkers, you might want to take “write the next big piece if software that does X” off of your bucket list… unless of course, you save it for last and your plan is to die of starvation! ;^)

That being said, programming is a very rewarding creative process that gives one the ability to do some incredibly interesting things with computers. Not that it’s simple; It’s been said that the intellectual effort that it takes to write a medium sized program is comparable to writing a book (except you don’t need to debug a book!).

…

One of the real joys of coding though is in the discovery of learning new things and finding ways to apply them in new ways to make interesting things happen. Good programmers tend to have a natural affinity for puzzles and games of logic. They also aren’t afraid to tackle thorny problems using either a scalpel or a hammer; and the truly great programmers are the ones who have the good sense to know when to use which.

Programming is all about being in that creative haze commonly known as “the zone” Once you get into the zone, the time just melts away as you are consumed by ideas and inventions while you watch your work come to life, piece by piece. It can be very analytical, but at the same time there’s also a level of eloquent discourse that goes into it when it’s done well.

In a sense, programming is a type of craftsmanship and somewhat of an art. It’s called “building software” for a reason, because programs are built line by line just as a building is built brick by brick. In a similar sense, we are painting the code onto our monitors, except instead of brush strokes we use keystrokes. In fact, some of the code used to create those pretty windows you see on your computer right now were likely created using a function literally named paint()!

In the end though, one’s own personal joy of coding is really hard to put into words directly. When I’m coding, it’s feels a lot like playing blindfold chess while drawing charcoal portraits of people laid out in an organizational chart on hand pressed paper that I made myself from a tree that I grew from seed and then chopped down.

I know something that can be described that way probably isn’t for everyone, but it’s a joy to me.