Monday, 11 June 2007

The ICFP Programming Contest 2006

I started collecting a team of people to organize the ICFP Programming Contest already by the end of 2005. Besides collecting and discussing requirements and advice, we didn't start working on a particular task immediately, also because the 2006 contest could well make it necessary to change our ideas. Of course, we took the chance to participate in the ICFP Programming Contest 2006. Only four of our team could make it, but that happened to be exactly the team size that could still qualify for a prize...

I can recommend participating in such a contest to everyone :-). It was really Big Fun. Family life suffered, but participating was both intellectually challenging and good for the team-spirit. Moreover, it was an excellent opportunity to find out how much you can actually do in three days time. Which is a lot!

What was really nice about the 2006 contest:
  • entering a virtual world which you could explore
  • solving puzzles
  • scoring incrementally; small points for small solutions, big points for major achievements
  • writing programs in languages which tied your hands on your back (I wrote programs in qbasic and a stupid rewriting engine; and helped thinking a bit about the `rotating' machine.)
  • very, very, cleverly done!
What was maybe a bit less nice:
  • had to program the machine in C because of speed requirements
  • could not use Haskell, our programming language of choice, other than for testing
  • small programs
  • only teamwork at the start, from then on mostly individual work (but that was our own, not very conscious, decision).
All in all a very nice experience, from which we learned a lot.


Stephen said...

Actually, I thought the C requirement was a great addition because one of the most amazing parts of the competition was that it covered *all* areas of computing in Real Life.

Johan Jeuring said...

I agree, it is perfectly sensible to have speed requirements. I should have expressed myself a bit more precise. The participants in the ICFP 2006 contest discussed their experience afterwards. And, since our language of choice is Haskell, we didn't like the fact that we had to program in another language (C in our case) to obtain reasonable speed. But that says more about Haskell than about the contest...

Unknown said...

Why couldn't you use Haskell for some of the parsing-heavy problems?