LiveCoda, Real-Time Coding Competition
Robert Shelton points out this "debrief" from ESCI LiveCoda 2006, a live programming competition. From the article: "On Wednesday the 24th of May at Loop Bar in Melbourne (Australia) fourteen teams of programmers gathered for the first ESCI LiveCoda real-time programming competition. Possibly the first performance based real-time programming competition. Before a packed night club with live music, each team had just ten minutes to write a program which could correct a corrupted image." (Here's a mirror of the LiveCoda site).
Why this fascination with speed?
When are people going to start programming contests where the award is given for something that's actually useful, such as fewest bugs, most readable, best re-use of existing code, etc?
Sheesh, evil *and* a jerk. -- Jade
Their design and development (and to some extent their marathon and multi-threading) competitions all allow much less restrictive timelines, and use very "real-world" problems (in fact, they sell the results of the design/development work). There's substantial prize support, and potential for royalties on the software you develop. They're evaluated by real people who look for bugs, run tests, and reward efficient, readable code.
But most people prefer competing in the algorithm competition (which are an hour and a half). I know I do - I'd much rather be done with the competition in a couple hours than spend a whole week stewing on it. I also do regular component development programming for a living - I don't feel the urge to go do more of that after work for less pay.
Let's not stir that bag of worms...
But for something like this, you're mainly limited by the contestants' familiarity with the problem domain.
With this particular competition (which looks to consist of reading in a simple image format, like PPM then applying a couple of simple transformations then writing the new file back out), the code isn't going to be too terribly different between most languages, and therefore the higher expressiveness of something like Python or OCaml wouldn't really get a chance to shine.
-30-
I know plenty of smart, fast programmers that write clear code and follow the rules. Sometimes the best ones will write something that most others have a hard time following, not because it is "sloppy", but because they are more talented. They also find and fix plenty of bugs that the other 9/10s made in their "maintainable" code. I have seen times where a super programmer correctly debugs a regular programmer's code in a design review sight unseen, just from the description. I have also seen regular programmers say "I checked it", or argue with a super programmer, until he gives up in and takes 10 minutes to find the bug and fix it himself.
What's my point? I don't have one, except maybe don't be a hater just because you can't hit the ball like Tiger Woods.