All of these years, I’ve harbored a suspicion. It’s not new, nor original. But I never read it explicitly, and only very recently managed to articulate it clearly. So here it goes:
Programming doesn’t have to be so damn hard. And one day we’ll figure out how to make it as easy as possible. It will still be hard, but way less, and its hardness will be justified by the nature of the problem it solves.
Now, notice what the above isn’t:
- It’s not about multiplying productivity so that today’s horse cart can be supplanted by tomorrow’s silver bullet.
- It’s not about getting better all the time, but rather about figuring out what’s standing in our way so that we can deal with the problem itself clearly and cleanly.
- It’s not about hardware.
- It’s not about people management or team culture.
- It’s not about personal habits or skill.
I believe that the first part of this suspicion (the unbearable unnecessary hardness of it all) is harbored by most, if not all programmers. The hopeful part is only felt by a few, and the proof can only be in the pudding.
What gives this further dimension, at least to me, is how the domain changes the intensity of the suspicion, in the reverse direction of what you’d expect. When writing in assembler, the relative hardness of things goes up, but the suspicion diminishes. The converse is true for writing a small web service that you need to put in production. At those times, your temples pulse with the burning feeling that “”why is this such crap“? Which is surprising, because it’s easier to write a small web service than to write a nontrivial program in assembler.
I am reminded of Steve Yegge’s immortal words: “You have no idea the pain I feel when I sit down to program. I’m walking on razor blades and broken glass.“
I wonder, truly wonder, if every programmer, deep down, feels like this. I’ve seen this suspicion in the eyes of almost every programmer I’ve worked with, yet talking about it is mysteriously elusive. Do you share this suspicion as well? What do your guts tell you?
Steve says one more thing: “Make no mistake: my blog whining is all relative to a totally imaginary future, one which in all likelihood, should it ever come to pass, will be filled with even more whining about totally imagined new futures.”
With this, I disagree. I feel this is a one-shot. It won’t be the end of computing history, but it will be the end of an era. Because the suspicion will be gone.