Glass Maze Every jumbled pile of person

Posted
6 December 2006

Tagged
Uncategorized

Why Software Sucks

Bjarne Stroustrup, progenitor of C++, has lots of smart things to say about the current state of the software industry (recently upgraded from “screwed” to “fucked” by the watchdog group Concerned Geeks for Endangered Software):

I think the real problem is that “we” (that is, we software developers) are in a permanent state of emergency, grasping at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but–so often–it’s not enough.

Software developers have become adept at the difficult art of building reasonably reliable systems out of unreliable parts. The snag is that often we do not know exactly how we did it: a system just “sort of evolved” into something minimally acceptable. Personally, I prefer to know when a system will work, and why it will.

The basic problem is that there isn’t a good enough reason not to write crappy code. The market punishes shoddy products, somewhat, but it rewards fast products more. Sure, capitalism is a meritocracy, but it’s a meritocracy based on expediency rather than quality, short-term gain rather than long-term success. It works because the world is full of smart hard-working people who make it work, but we’re strip-mining the landscape of our potential, and it’s going to come back to bite us in the ass.

Scratch that: it bites us in the ass all the time. The Y2K bug is probably the best example of this, but there are hundreds of others: the failed FAA upgrade project, the Denver Airport debacle , and, of course, Windows ME, may it rot in the colon of a flatulent camel for all of eternity. And those are just the high profile ones. The battleground is littered with the corpses of failed software projects, which we blithely tramp over in our headlong charge toward the set spears of the next challenge.

You can’t stop, because you’ll be overrun. You can’t slow down, for the same reason. You certainly can’t turn around and go a different way, choose a new battlefield, because any victory you achieve on your own terms will likely be overshadowed by the blood-soaked Gettysburgs of all the shops who impaled themselves on the enemy’s bayonets and yet had the wherewithal/luck/brute strength to survive.

It’s not all gloom and doom. We beat on, and stuff gets done, and smart people make impossible things happen — but it’s incredibly inefficient, and it feels like we could achieve so much more if we change the terms of this war. Sit back, think about what we’re doing. Our enemies, for the most part, aren’t going anywhere. They’re holed up in their fortresses, staring at us with dull implacable eyes. This is a siege. We can take our time. We can figure out the best way to win, rather than dashing ourselves against their walls, climbing over the bodies of our vanguard to reach the ramparts.

And that’s all the mixed battlefield metaphors we have time for today. Next week: Hello Kitty allegories! Don’t miss it!


No Comments Yet


There are no comments yet. You could be the first!

Leave a Comment