Get Ready for For The 7th ICFP Programming Contest 18
nate writes "Convinced your favorite programming language provides unbeatable
productivity? Convinced you and your friends are world-class
programmers? If so, we're providing you the opportunity to prove it! We are
pleased to announce the 7th ICFP
Programming Contest to be held in conjunction with ICFP
2004. All programmers are invited to enter the contest, either
individually or in teams; we especially encourage students to enter.
You may use any programming language (or combination of languages) to
show your skill." Read on below for the details.
"On Friday, 4 June at 12:00 Noon (EDT), we will publish a challenge task on the Web site and by e-mail to the contest mailing list. Teams will have 72 hours until Monday, 7 June 12:00 Noon (EDT) to implement a program to perform this task and submit it to the contest judges. We have designed the contest for direct, head-to-head comparison of language technology and programming skill. We have a range of prizes including cash awards and, of course, unlimited bragging rights for the winners.
Previous contests included: 2003, 2002, 2001, 2000, 1999 and 1998."
I'm in! (Score:1, Funny)
That sounds good!
I'm in!
Excellent! (Score:4, Funny)
Re:Excellent! (Score:1)
http://www.muppetlabs.com/~breadbox/bf/ [muppetlabs.com]
Some of the intercal stuff is pretty nasty, but the gnarliness of this [sange.fi] program to calculate Pi trumps all
Fun times!
Cool! Oh damn. (Score:3, Interesting)
Reality Check (Score:5, Funny)
Too many liberal arts classes in college I guess
The problem with contests... (Score:4, Insightful)
The measure of a good programmer is in the robustness of the solution, in how maintainable it is, and how well its architecture will support future changes.
A better competition would be a multi-phase one, where the programmers are given several tasks that each build upon the previous solution. Alternately, they could change the problem half way through the competition. Thus, the program (and programmers) would have to be flexible enough to change to meet changing requirements.
That is what programming is about in the real world, not figuring out an algorithm to find the shortest path between two nodes.
Re:The problem with contests... (Score:1)
Considering that the ICFP's focus is on functional programming and not the daily tribulations of the real-world programmer, I think their competitions are just fine.
Re: Best maintainer? (Score:4, Interesting)
I think an interesting programming challenge would be a multi-phase contest, where each team works on a different team's program in each phase. For instance:
* Phase 1, everyone creates a program to accomplish Goal 1.
* Phase 2, everyone gets someone else's program and must modify it to accomplish goal 2.
* Phase 3, each team takes yet another Phase 1 program and modifies to accomplish goal 3.
* Phase 4, etc...
At the end of the contest, you could determine lots of things:
* Who's the best designer (based on how a phase 1 design did in the later phases)
* Who is the best maintainer (based on how well the team did on goals 2-4)
* If you allow different languages, you might even be able to measure whether one language is more maintainable than other languages...
Re: Best maintainer? (Score:4, Funny)
I like it. Here's another, less reverent, variation.
Re: Best maintainer? (Score:2, Insightful)
Re: Best maintainer? (Score:2)
1) The malicious team would lose all chance at "best design." My personal experience suggests that THAT prize will be most valuable.
2) The overall prize ("best programmer") should be a composite score, including the design score of the team's phase 1 entry plus their combined maintenance scores of the other phases. Thus, the malicious team almost certainly gives up all chance of winning the overall score.
4)
Re:The problem with contests... (Score:1, Insightful)
You seem to want a contest that reliably measures how "good" a programmer is. I'm not sure how to do that, but I am pretty sure that it wouldn't be very much fun.
... is their purpose is sometimes misunderstood. (Score:2)
well, you'd be right. It's a test of languages and speed. I don't think that the best programmers will win. This a speed test, pure and simple. And the ability to code quickly is a good skill when combined with the ability to write maintainable code and with initial comprehension of the problem.
I could probably code a problem given to me in C++, Java, VB, C#, LISP or *shivers* some basic scripting languages, but really there are two
unlambda (Score:1)
Timely proclamations (Score:2)
The results and strong entries for this competition are always an interesting read, so best of luck to everyone entering.
Just one niggle, though: last year, the first and second places were actually taken by entries using C++. I hope this year's proclamations [chalmers.se] won't suffer another unfortunate delay if the winner happens to be a non-functional language.
You can judge for yourself whether that pun was intended. :-)