Slashdot Mirror


ICFP 2005 Programming Contest Results

Fahrenheit 450 writes "The results of the The Eighth Annual ICFP Programming Contest are in, and it looks like this was the year for Haskell and Dylan, with Haskell programs taking first & third prizes, and Dylan claiming second prize and the coveted Judges' prize. This year's contest was a simulated game of cops and robbers, with a twist to the rules thrown in after the participants had submitted their initial entries. Step through the transcripts of the contests or just download the PDF version of the presentation slides and tell us all how you could have wiped the floor with the winners using your carefully crafted COBOL or awk submission."

6 of 111 comments (clear)

  1. Programming by bulio · · Score: 2, Interesting

    Pretty awesome, I wish I could program. Problem is, everytime I attempt to learn a language, I can learn the basics (Variables, print, etc.) then I get lost when it comes to actually writing anyhting at all. I need to find a decent language to try that is easy. (Besides ruby and python, tried em)

  2. Re:My Java Bubble by TheRaven64 · · Score: 4, Interesting
    I'm not a huge Haskell advocate - it was my first introduction to functional programming, and it made me hate FP for a few years. More recently I've started using Erlang, and it's a joy to use - a functional language designed by pragmatists rather than theoreticians. It also has the best syntax I have yet seen for handling distributed programming - process creation (local and remote) and message passing are built into the language.

    As someone who liked prolog, one of my favourite parts is the pattern matching. This can be done on any data type, including binaries (bit fields), so you can have a function for parsing a datagram, and a different definition for each packet-header - and all you need to do is define the part that is constant in the function header then the remainder of the processing in the body, and write a different body for each packet type.

    --
    I am TheRaven on Soylent News
  3. Re:Bobby by Matthaeus · · Score: 2, Interesting

    What version of perl are you using to get that error?

    And how many of the rest of you actually tried it out?

  4. Try Q! by agg-1 · · Score: 2, Interesting

    Shameless plug: Those of you who like Erlang might also wish to give Q a try. http://q-lang.sf.net/ Pattern matching is at the heart of the interpreter, as the language is based on general term rewriting instead of the lambda calculus. Fairly pragmatic language as well (interpreted, dynamically typed). Comes with a system interface, XML/XSLT support, Apache module, OpenGL interface, modules for doing computer music and multimedia stuff etc. Q still has still to prove itself on something like the ICFP programming contest, but it's quite usable already (IMHO).

  5. Re:My Java Bubble by brucehoult · · Score: 4, Interesting

    And how many total programmers are using Dylan in this contest? :)

    Not many. Just us. Unfortunately most people have not yet heard of the Dylan programming language.

    Otherwise, you'll have severe selection bias - especially in contests with such a small number of Dylan users, but even if there were more. Really, contests like this are pretty useless for language evaluation - only individual-evaluation

    I guess I'll have to take that as a compliment :-)

    I agree that contests such as this can't prove that some language is superior to others since, yes, it is possible (though very unlikely!!) that I and my friends are all super-geniuses who could do equally well using Brainfuck or INTERCAL.

    What it does prove though is that there is nothing seriously wrong with Dylan that would prevent you from using it to write a complex program very quickly, in a situation requiring high performance and absolute correctness. I don't know if you read the rules, but if a program ever crashed, or took more than 5 seconds to respond to the server, or responded with an illegal message then it was instantly out of the entire contest. That's what happened to the vast majority of C and C++ and Java programs, and that is what always happens to them.

    and even that, only after a significant number of contests have been completed by the participants.

    How many is significant? A Dylan entry has won prizes in each of 2001, 2003 and now 2005, despite there being only one Dylan entry each year up against hundreds of entries in other languages.

    You can choose to think that my friends and I are geniuses, or you can think that maybem, just maybe, there's something worth investigating in this Dylan thing.

  6. Previous winning languages by Fahrenheit+450 · · Score: 2, Interesting

    2004:
    Judges prize: OCaml
    Lightning division winner: Java, C++, Perl, and m4
    Main division: (1st) Haskell, (2nd) Haskell and C++

    2003:
    Judges prize: C++ and Dylan
    Lightning division winner: OCaml
    Main division: (1st) C++, (2nd) C++, (3rd) OCaml

    2002:
    Judges prize: Python
    Main division: (1st) OCaml, (2nd) C

    2001:
    Judges prize: Erlang
    Main division: (1st) Haskell, (2nd) Dylan, (3rd) OCaml/C (a tie between two teams)

    2000:
    Judges prize: SML
    Main division: (1st) OCaml, (2nd) OCaml, (3rd) Haskell, (4th) Mercury

    1999:
    Judges prize: Haskell
    Main division: (1st) OCaml, (2nd) Haskell

    1998:
    Judges prize: J
    Main division: (1st) Cilk, (2nd) OCaml

    --
    -30-