Sunday, August 19, 2007

Defining Language Aesthetic

I saw a presentation recently that showcased several 'scripting' languages such as Python, Ruby, JavaFX, Perl, etc.

Someone raised the point about how to evaluate a given language. That is: is it possible to state one's criteria for an 'appealing' or 'successful' language? Certainly such a statement would be subjective and true hair-splitting: many languages are subtle shades of the same colour on the language spectrum.

Still, it's an interesting question.... One person suggested that their criteria might be stated as: can a developer read a demo program in the given language and have a reasonable chance of understanding what it does? That's a fair question, IMO.

To paraphrase Guido Van Rossum (of Python fame), another aesthetic might be stated like so: what would it be like to maintain someone else's code in this language? I won't name any, but many languages fail this test for me. I'm talking here of the "average case" -- not bad, obfuscated code by a poor programmer.

I think the latter gets close to my sense of aesthetic. But also, more vaguely, a sense for "does the language help me do what I want to do, transparently, and then stay out of my way?". That's tough to quantify.

It's an interesting thing to consider... your thoughts?

1 comment:

Ricky Clarkson said...

Instead of the average case, I'd suggest you aim higher than that, and employ better-than-average programmers. The average programmer isn't a good one.