ICFP 2003 Programming Contest Results
An anonymous reader writes "The previously reported ICFP Contest has been over for quite some time. The results were announced on August 26, 2003 at the conference in Uppsala, Sweden, yet the contest organizers have yet to publish results. Despite the forgetfulness of the organizers, it is known that this year C++ did well, taking first and second, but not judge's prize. Interestingly, a one-man team consisting of an undergraduate student took first place, followed by a team of highly ranked 'red' TopCoders, with the maintainers of Gwydion Dylan taking judge's prize."
Version 1.0 / M
America, eh folks? It's a pretty screwed up place. Unfortunately, but not indefinitely, the USA's weapons of mass destruction make it the most powerful country in the world (militarily). As a result, it helps to be aware of American society and fit into it, and our quick 8-step guide should have you on the path to burger-munching enlightenment.
1 - Buy yourself a gun
To become a fully-fledged Yank, you'll need to get a weapon. Americans think that having more killing machines magically makes their country safer, and it helps them to walk around saying "I'll put a cap in your ass". Even though the concept of "no guns = no gun-related crimes" is alien to the average Yank, it'll give you a false sense of security in this country with the highest crime rates in the developed world.
2 - Put on at least 25 stone
Skinny? Medium? Chubby? That won't cut it in the good ol' US of A. Because America has the highest obesty levels on the planet, you'll need to get those rolls of flab built up. Eating 18 waffles with Maple syrup for breakfast (and visiting Burger King five times in a day) is all natural when much of the world is suffering massive poverty. Get fat and fit in.
3 - Learn the lingo
We've talked about issues affecting society, but on a personal level you'll need more knowledge (or ignorance as it may be) to fit in. First, forget proper English. Confuse "your" with "you're". Say "must of" instead of "must have". Whenever anything interesting occurs, say "shucks" repeatedly. Instead of clever spontaneity or witty insults, call people "asswipes". It's funny!
4 - Throw away all maps, history books etc.
To really feel a part of American society, you must lose all knowledge of the world. Forget where Poland is. Scrap your knowledge of the lengthy Chinese history. Make cretinous remarks like "India? Is that in Africa?". Because ALL that matters is America, and it doesn't matter how pathetic you look to educated people the world over.
5 - Become totally irrational and nonsensical
Spout on about the Constitution, and then make drastic changes to it. Talk about "freedom of speech" and watch TV programmes about the Ku Klux Klan. Rant on about market freedom, and sit back as companies run riot and destroy the economy with their anti-competitive practices. Essentially, act idiotic at all times.
6 - Sue everyone you ever meet
The USA doesn't produce many decent quality products, so the society is crumbling into a litigation-happy joke. With so many jobs going overseas to talented workers, your only option left is to start legal proceedings. About anything. Someone step on your toe? Get some hotshot downtown lawyer to sue their ass!
7 - Get a "shrink"
Americans have a hard time dealing with their own problems in a mature manner, and prefer to spend hundreds of dollars sitting in front of someone and whinging. However trivial your problems may be, blast them out like a baby!
8 - Watch abysmal TV
Forget educational programmes and incisive documentaries. Your ideal night in is with your gun, six cheeseburgers and a Friends box set. Watch as some over-paid talentless "actor" enters the scene, and whoop and scream hysterically as he delivers some ridiculously poor wisecrack.
So there you have it! Those 8 steps should have you killing innocent people, piling on pounds and acting like a moron in no time. America awaits you, brave hero! Just get out before it collapses in disarray.
END
Just like on Yahoo!
HOw come prolog didn't win? it is
quite hard to read.
That almost redeems the face-painting and assorted other developmental disabilities.
There are no karma whores, only moderation johns
is frostier than shafts
anybody?
Hey, fuck you. Your fp has been claimed by me. You therefore fail it, asshole. So get busy sucking my dick. And so you know, I'm from Germany. I'm not an American. Fuck you.
C++ is an excellent language.
It is rather amusing to see the functional programming zealots beaten in their own competiition.
Now maybe the FP "movement" will go back to relative obscurity where it belongs, and let the real programmers do their jobs.
I wonder how many job offers 1st place winner and UT undergrad Andrew Hudson is going to receive... or for you conspiracy folks out there, how many shadowy organizations he'll be "invited" to join.
Who do you get to be an expert to tell you something's not obvious? The least insightful person you can find? -J Roberts
Its nice to see my two favorite languages take the top spots :) Its also pretty nifty that the Gwydion Dylan team got another prize. They got second place a couple of years ago too. Anyway, more people need to check out Dylan. Its a pretty nifty language. It was made by Apple in the early 1990's, by a committe containing a lot of important Lisp people. As a result, its kind of an object-oriented Lisp with a more traditional syntax. Its a very powerful language, but also very fast. It was designed to achieve 90% the performance of C. In practice, the current Gwydion compiler (designed by the same group at CMU that did CMUCL) achieves 50-90% given similar code.
A deep unwavering belief is a sure sign you're missing something...
Congratulations! I've usually steered clear of checking out programming "challenges" because they usually seem to be focused on producing the most unreadable or obscure code to confuse the judges.
While you can learn things from obfuscated code, I think these practical challenges are a lot better for the programming community as a whole.
Finding optimal paths around race tracks and obstacles presents a number of challenges which when solved in multiple totally different ways, helps give us new theories and data which we can use to develop new algorithms and theories for use in the real world.
Can anyone recommend any other programming challenges which focus on developing new algorithms which may be useful in other disciplines?
The only example I can think of is the many "robot" fighting challenges, where you write a program for a robot, and it has to destroy the other robots within the battlefield using its own "wits" and no human input. You might remember PC-ROBOTS from the early 90's if you're a real geek ^v^
Web Hosting Reviews
is lukewarm and staler than bigfoots, since YOU FAIL IT
That's great, but he used SCO code. And he coded all this while listening to illegal MP3's. SCO and the RIAA are filing a joint suit against his grandmother.
Based on the posts above, it seems like the FP movement is alive and well at slashdot.
I guess it should come as no surprise that the winners should be programming in the decidedly non-functional (no pun intended, really) language C++. There are far more C++ programmers out there than Dylan, Haskell, and ML combined, probably by a couple orders of magnitude.
The prizes were awarded based on answer quality, not performance, which takes away one of C++'s natural advantages over functional languages. Still, I'd like to see a breakdown of entry languages.
Thats strange, now isn't it!
cout
c++in
Marxist evolution is just N generations away!
I have been looking around the ICFP web pages, looked at that previous Slashdot article, and even checked the FAQ on the ICFP homepage, and I still haven't found out what the ICFP acronym stands for... Anybody knows?
can someone please explain to me why gmx has been down?
I wonder (because I see no mention of it) how many different languages we used in the contest aside from the standards (C++, C, etc). Recently I've been playing with Ruby which is pretty handy at times, and I swear by python, and expect. Well coming from a sysadmin background I swear by these... Anyone know if languages like these were entered or,, even if others use python and expect on a normal basis, hell even ruby for that matter.
MoFscker
What the hell does 'red' TopCoders mean? They were red-heads? They were Russian? They programmed all night and needed Visene to clear up their eyes?
I'm an American. I love this country and the freedoms that we used to have.
I just love programming and whenever it's mentioned it just makes my day guys!!! Programming and programmers are cutesies! Toodles! :0) :) omg ;)
come to my blog at http://www.boingboing.com Love ya!
I see that most other entries have posted their code to download. Where's his?
Hehehe I just joined TopCoder and I'm gonna make fat $$$. 1) Join TopCoder 2) ??? 3) Profit!
1st known failed CIA coup in South America : http://www.chavezthefilm.com/index_ex.htm
This contest concerned virtual racing tracks. The winner was the one who submitted the trace which would pilot the car as fast as possible around the track. (See the problem description for more information.)
Thus the judges never ran the program on their computers, and in theory could have judged the contest without even looking at source code. To me this seems a bit unfair because the winner could just be the one with the fastest computer, not the best code. I noticed that the first prize team used 16 dual Xeons.
So did anyone here compete? In practice are the results greatly influenced by how much hardware the contestants had access to?
when you dont even understand the problem.
I read the dylan entry description and didnt even understand the problem. *smacks head*
Bush and Blair ate my sig!
Values taken from the ICFP 2002 webpage and munged with an awk script... not 100% accurate, but close enough.
language entries
java 28
c 24
c++ 22
caml 19
python 15
perl 11
scheme 7
haskell 6
lisp 5
dylan 2
erlang 2
mercury 2
pltbot 2
ruby 2
ada 1
bot! 1
dogs 1
extensions 1
forth 1
icon 1
kylix 1
lspm 1
mhotas 1
pandemonium 1
pps 1
prolog 1
sk 1
smalltalk 1
sml 1
v202 1
Some languages are bogus because of the format of the author's entry, or they used multiple languages.
International Conference on Functional Programming.
Just in case anyone wants to know without clicking through the fifth link to find a page that actually tells you...
A more interesting question might be how many offers have gone to someone who's consistently done well two or three times but never won. By my count, there is at least one such person, looking at the most recent contests.
This year's contest was an interesting problem, and no doubt the winning entry was well done, but there's also an element of brute force involved; look at the hardware Andrew had available. You could make a reasonable argument that this year's winner wasn't decided purely on programming skill, and an even more reasonable argument that doing well in one such contest doesn't say nearly as much as doing well in multiple consecutive ones with different problems to solve.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Somethign nobody has mentioned yet (at least with a high rating) is that this is the contest for the International Conference on Functional Programming, and not only that, from the rules page:
First prize: $1000, free conference registration for two student team members, and the satisfaction of hearing the judges proclaim your programming language "the programming tool of choice for discriminating hackers."
Second place language gets: "the consolation of hearing us proclaim your programming language "a fine programming tool for many applications." "
So, I want to make sure this is clear: At the International Conference on Functional Programming, the judges had to get up a proclaim that "C++ is the programming tool of choice for discriminating hackers."
I would've loved to be there. Anybody who was at ICFP care to comment?
Read this message from a recent thread about the subject on news group comp.lang.functional.
I was on the team that won the judge's prize, and whilst you can read our report at the link above, I have to say that for us, the key was the human, not the hardware or the program.
;)
The tracks we did well one were the ones that we were able to hand-drive accurately; the ones we did badly on were the ones where there were simply too many hard turns to make that feasible.
Despite having a whole university lab full of computers we could have hijacked to run our program on, we only used a single computer for the actual optimizing.
Also note that although our automatic optimizer was written in Dylan, the visualizer/racing game program was C++.
If I were going to be controversial I would say that it all just goes to show that humans are better than computers and imperative languages are better than functional ones