I'm James Hague, a recovering programmer who has been designing video games since the 1980s. Programming Without Being Obsessed With Programming and Organizational Skills Beat Algorithmic Wizardry are good starting points. For the older stuff, try the 2012 Retrospective.
Where are the comments?
Beyond Empty Coding
There's a culture of cloning and copying that I have a hard time relating to.
I taught myself to program so I could create things of my own design--originally 8-bit video games. There's an engineering side to that, of course, and learning how to better structure code and understand algorithms built my technical knowledge, enabling the creation of things that are more interesting and sophisticated. By itself, that engineering side is pedestrian, even mechanical, much like grammar is an unfortunate necessity for writing essays and short stories. But using that knowledge to create new experiences? That's exciting!
When I see people writing second-rate versions of existing applications simply because they disagree with the licensing terms of the original, or cloning an iPhone app because there isn't an Android version, or rehashing stale old concepts in a rush to make money in the mobile game market...I don't get it.
Oh, I get it from an "I know how to program, and I'm looking for a ready-made idea that I can code-up" angle. What I don't understand is the willingness to so quickly narrow the possibility space, to start with a wide-open sea of ways to solve a problem and develop an easy to use application, but choosing instead to take an existing, half-baked solution as gospel and recreating it (maybe even with a few minor improvements).
Yes, there are some classic responses to this line of thinking. Everything is a remix. Every story ever written can be boiled down to one of seven fundamental plots.
But is that kind of self-justification enough reason to stop trying altogether? To elevate the empty act of coding above the potential to make progress and explore new territory? To say that all music and movies and games are derivative and that's how they'll always be and bring on the endless parade of covers and remakes?
I can only answer for myself: no, it's not.
(If you liked this, you might enjoy Personal Programming.)
permalink September 27, 2011
previouslyBoldness and Restraint
Building Beautiful Apps from Ugly Code
It's Like That Because It Has Always Been Like That
"Avoid Premature Optimization" Does Not Mean "Write Dumb Code"