You'll come for the HOWTOs, but you'll stay to flame back at my rants!

Monty Python and the Quest For the Holy Programming Language

Date/Time Permalink: 09/21/08 02:43:20 pm
Category: General

There's room for a movie with that title. "We ride for Hackalot!" Cue epic journey across hill and dale, following many a wizened oracle squatting by a campfire tantalizing us with half-made-up legends. It exists! I've seen it! The Holy Programming Language! It's right over that mountain, past the Valley of Dead Platforms, through the Forest of Disgruntled Bloggers, into the Maw of the Proprietary Swamps, and out across the Bridge of Design Paradigms.

Hold on, wait a minute. Are we sure it's even out there?

There is no programming language that is without detractors. Take, for instance, PHP. Here's yet another in a long history of musings as to what should be done about it. It is true, PHP sucks.

Python sucks, Ruby sucks, C sucks, Bash sucks. HTML and Javascript and ActionScript and Java suck. Visual Anything sucks, as does Lisp and Haskell and COBOL. We'll never run out of it. Your favorite language sucks too - especially yours! Really, it seems that flaming about languages is an essential part of working in the field. It helps coders' blood pressure or something. If you take a break from coding for a while, you get some distance about it. When you dive back into a project, though, suddenly it hits you just how badly the particular language you're forced to use is lacking. You say, "They all suck, but this one I happen to be working in this week is particularly bad!" Then the project is finished and you get back to being the balanced Zen master again.

You never saw an industry where so many of its practitioners hate so many of their tools. And all the while, there's this nagging voice in the back, asking "Will it ever get better?"

You know what I'm thinking? It won't get better. Everything we've achieved in programming right now is all that will ever stand out in history, and all we have left to do is keep making smaller, faster gadgets. Because programming languages are made up. There is no perfect programming language any more than there is the perfect novel.

Here we are, free to create anything at all. It's easy to make something up. The challenge is to make up something that's really good. You'd think, with over 50 years of research and academic debate, that if it were that simple, we'd have done it by now.

At the end of the day, my philosophy is "Use what's available, get the job done, and then forget about it." Obviously, even if we had the Perfect Programming Language, it would have to make it past a standards committee, dodge a gauntlet of patent claimants, see simultaneous widespread adoption the world over, and survive all attempts to water it down with derivatives. So it would arrive in our hands sullied before the fact.

Even though we make them, when I look around at what everybody else is currently using, I have to conclude that the sum total of chaotic forces that shape programming standards produces an effect very much like haphazard evolution. Just like with living nature, we end up dealing with things as they come up, exactly as if nobody designed them and they just grew up in a field.

yawn same ol sig

Follow me on Twitter for an update every time this blog gets a post.
Stumble it Reddit this share on Facebook

suddenly the moon