Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Get Ready for For The 7th ICFP Programming Contest

timothy posted more than 10 years ago | from the pencils-sharpened dept.

Programming 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."

cancel ×


Sorry! There are no comments related to the filter you selected.

I'm in! (2, Funny)

PhuckH34D (743521) | more than 10 years ago | (#8996408)

"unlimited bragging rights for the winners."

That sounds good!
I'm in!

Excellent! (3, Funny)

FattMattP (86246) | more than 10 years ago | (#8996431)

Now I can show everyone just what intercal [] is capable of!

Re:Excellent! (1)

cstangle (664295) | more than 10 years ago | (#9004297)

No matter what you throw at me, Brainfuck is worse []
Some of the intercal stuff is pretty nasty, but the gnarliness of this [] program to calculate Pi trumps all
Fun times!

Re:Excellent! (0)

Anonymous Coward | more than 10 years ago | (#9005501)

No matter what you throw at me, Brainfuck is worse

Worse than Malbolge [] ?

Cool! Oh damn. (2, Interesting)

n1ywb (555767) | more than 10 years ago | (#8996753)

This looks really cool, a good way to show off your skills. Unfortunately I'm moving that weekend :( Are there any other popular programming contests out there? I remember the 99 bottles of beer contest that got posted here a while back and then never happened. I busted my ass to write my submission in Forth. It was only about 70 bytes and most of that was unavoidable strings like "beer on the wall".

Reality Check (4, Funny)

stoolpigeon (454276) | more than 10 years ago | (#8997753)

Whenever some relative gets all complimentary because I fixed their pc - or someone tells me I must be smart because I work with computers- I just check out past challenges. Oh yeah-- I can almost hear the ego hissing away as my head returns to normal size.

Too many liberal arts classes in college I guess

The problem with contests... (3, Insightful)

DukeyToo (681226) | more than 10 years ago | (#8998277)

I am sure this is a fine contest, and the programmer(s) that win will be better than most of the other programmers that entered. However, I do not see contests like this as a true measure of "a good programmer".

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... (1)

zero time ghost (699927) | more than 10 years ago | (#8998856)

Bah, humbug!

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? (3, Interesting)

phamlen (304054) | more than 10 years ago | (#8998861)

I would love to see a contest where you judge the best "maintainer" of code. Because maintenance programming (taking someone else's code and improving/modifying it) is a totally different beast than orginal programming.

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? (4, Funny)

anomalous cohort (704239) | more than 10 years ago | (#9000458)

I like it. Here's another, less reverent, variation.

  • Get any book written in the early 90s on object oriented programming. The more academic, the better.
  • Write a complex system that makes heavy use of everything in that book. Absolutely everything.
  • Publish this as part of the instructions. Describe a fairly modest change as the objective of the competition.
  • State that the winner will be assigned based on as small and accurate a change as possible.
  • Accept submissions.
  • Bring each submitter in for in interview. Hook him or her up to a blood pressure monitor and say "Why did it take you so long to make such a modest change to such a well designed system?"
  • The contestant with the smallest increase in blood pressure wins.

Re: Best maintainer? (2, Insightful)

hsoft (742011) | more than 10 years ago | (#9002341)

If a contest like this would exist, to win, you would have to produce unmaintainable code on phase 1. I don't like that. I prefer the idea of the top parent: Create code to accomplish a goal, and then ask to morph that code to accomplish another goal, which is related, yet very different. Yet, another option would be to make exactly the same thing as you mentioned (Phase 1,2,3,4) but use different teams for each phase. Thus, you would have to chose which phase you want when you suscribe, and then, the prize is divided in 4 parts. This way, a phase 1 guy would have no interest in producing unmaintainable code, because he would not be involved in other phases at all.

Re: Best maintainer? (1)

phamlen (304054) | more than 10 years ago | (#9007631)

Well, although in theory someone could do this, I don't think it really gives them an advantage.

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) If there are more teams than rounds, then corrupting their own entry won't actually affect everyone else - so their advantage will be fairly small.
3) The entry must actually PASS phase 1 - so it has to actually work. To have the best chance of winning, it needs to be able to do phase 1 well (cf. ICFP 2003 goal of getting the car around the tracks quickly.) Although it's possible to write intentionally unmaintainable code, it's reasonably tough to write unmaintainable effective code.
4) Finally, based on my experience in the real world, there is some incredibly crappy, unmaintainable code out there. So maybe it will just be more like the real world. :)

Re:The problem with contests... (0, Redundant)

Anonymous Coward | more than 10 years ago | (#8998914)

This statement is wildly off base. You are asking about what makes a better software engineer. Computer science and software engineering are not one in the same, and are in fact quite different arts. Software engineering is about defect maintaince and implementing simple features, and rarely gets into the areas of algorithms or higher thought... I'll take someone who can think versus a corporate drone anyway!

Re:The problem with contests... (1, Insightful)

Anonymous Coward | more than 10 years ago | (#9002564)

The ICFP contest is primarily meant to be about having fun, and secondarily about giving exposure to functional programming languages.
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. (1)

Roman_(ajvvs) (722885) | more than 10 years ago | (#9003597)

I do not see contests like this as a true measure of "a good programmer"

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 aspects to me doing the job properly and on time: initial comprehension of the problem and initial comprehension of the language I'd work in. If everyone is given the same problem, then it could be a test of progammer skill but probably wouldn't if there weren't any restrictions. Set limits on time (or maintenance or language) and then you get a reasonable measure of programmer proficiency in a specific area.

I think this contest is based on the assumptions that all languages are equal (but the ICFP 'secretly' thinks functional languages are better) AND that the fastest programmer in one language is roughly equal to the fastest programmer in another. Given those two assumptions, I'd be very interested to see who manages to get things done quicker and by how much.

Re:The problem with contests... (0)

Anonymous Coward | more than 10 years ago | (#9005498)

A better competition would be... (description of competition)
That is what programming is about in the real world, not figuring out an algorithm to find the shortest path between two nodes.

You're right. We should also alter TV gameshows; the ability to memorise trivia is useless in the real world. Maybe they could have live lawn-trimming and nappy-changing competitions instead. And we need to make some radical changes to sports, too: the ability to hit a ball with a bat is useless in the real world. Let's go down to the stadium and watch two teams of highly trained athletes sit at desks and shuffle paper! That would be a test of useful skills.

This is about entertainment. Some of us have to live in the real world most of the day, we don't want to spend our weekends there as well.

unlambda (1)

Validus (66121) | more than 10 years ago | (#9004595)

Wow, a contest that I can enter a Unlambda [] program in... :)

Timely proclamations (1)

Anonymous Brave Guy (457657) | more than 10 years ago | (#9017251)

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 [] 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. :-)

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?