Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming IT Technology

3rd Annual ICFP Programming Contest Announced 137

jsarnat writes "A recent Ask Slashdot revealed revealed that there are indeed many programming language bigots (myself included) who read Slashdot. What better way to prove that your favorite language is the best one there is than to win the Third Annual ICFP Programming Contest? The contest doesn't start until August 26th, but they encourage you to register soon. Prizes include: `cash awards, famous texts on functional languages donated and autographed by the authors, and, of course, unlimited bragging rights.'"
This discussion has been archived. No new comments can be posted.

3rd Annual ICFP Programming Contest Announced

Comments Filter:
  • "However, rather than debate the definition of a "functional programming language," we will allow submitted programs to be written in any language whatsoever, as long as it has an implementation for Pentium PCs running Linux (Red Hat 6.2)."

    You could probably run it through wine or something but AFAIK there's no VB implementation for Red Hat. Give Borland 10 years and you might be able to use Delphi.

    For quickest implementation, looks like JAVA might take the cake. Devel it in a Win32 or Linux GUI and in theory it should work on RH6.2 without a hitch. Too bad speed is important too. *grin*

    --Clay

  • San Ramon Unified School District in conjunction with Rotary Club sponsored a web programming contest. This contest was for teams of students who would form businesses providing web site design for business customers, who were participating in the contest. The teams were evaluated on both the technical merit of the website and their ability to communicate well with the "client" and extract meaningful knowlege of the business so as to be able to build an effective web site. This Link [k12.ca.us] provides more information on previous contests.

  • I tried to put a team together for this thing. They thought we'd use some weird blend of Python, Java and Lisp. Somehow that didn't quite mesh with my plan to grind INTERCAL, Befunge and Assembly into a coarse grind which only the few, the proud, the Real Programmers could stomach. Ah yes, the aroma of code rot...
  • GoingWare [goingware.com] interrupts our regularly scheduled broadcast to assert that computer program source code is constitutionally protected free speech.

    http://www.goingware.com/decss [goingware.com]

    We now return you to your program.

  • by Sayjack ( 181286 ) on Thursday August 24, 2000 @07:27PM (#829739) Homepage
    When it comes time to pick a language, I first assess the task, then pick the language that's right for the problem space.

    Too often, I see people "sticking to what they know" and applying the wrong technology. For instance, for 6 weeks a fellow at work was feverishly writing tens of thousands of C code. He was having a hard time and came by to ask me a few C questions. Turns out, he was writing a cgi-script in C!

    The program limped along when one day I reimplented it in a few hundred lines of perl.

    I caught another fellow writing C programs to invoke unix system commands. Sounds like a shell script to me.

    Another fellow, when I was working at a scientific firm, loved lisp so much that he wrote an inline interpreter in lisp and henceforth wrote his modules in lisp.

    My take on the languages is this:

    1. C is a good low level language. You can do anything in it and it makes everything equally easy and equally hard.
    2. C++ makes hard things easy and easy things hard. It can sing in the hands of a skilled programmer, but large programming organizations are subject to the gausian curve and programmers of lesser mastery of the language can do alot of damage to a code tree.
    3. Perl is the swiss army chainsaw of scripting languages. I've always said that perl is the language where you can do in 1 line, what you should have done in 20. It's both a blessing and a curse to the language.
    4. Lisp...lisp is a wierd beast. It takes me 2 days to transition to this language just to get my brain thinking recursively. I'm an iterative sort of guy. A handful of problems are solved quite elegantly and it's a great instructive tool, however, I'm convinced that lisp was invented by someone too lazy to write a decent parser.
    5. Java is a great language for large scale projects that don't need the performance of something like C. I say that because it's possible for the lead programmer to architect a framework which tailors the development of the other group members through interface definition and judicious inheritance. However, it's thread support can get junior programmers in trouble.

      Fortran is the tank - the number cruncher. Write it in fortran, and it'll port forever. I've seen 30 year old code surviving the test of time in it's original form, no worse for the wear. Fortran makes it hard to get in trouble, and it's problem space nowadays is mostly in heavy math shops like geophysic exploration.

    I guess my point is that each language has it's strong and weak points. Picking your language should be a function of the problem space and computing environment.

  • Perl has entered both ICFP contests, and has got stomped. I don't know whether it's because of Perl or not, but history doesn't seem to follow your conclusion that Perl will win.
  • Most of the expressions of praise you are quoting are part of the prizes that the place-getters win. From the contest home page [virginia.edu]:

    "The team winning first prize in the competition will be awarded: ...

    * Peer recognition: Finally, the context judges agree to state at least once during the presentation of the awards that the winning team's programming language is ``the programming tool of choice for discriminating hackers.''"

    William
  • Emacs is very intuitive once you get to know it better

    Perhaps you should look up "intuitive" in the dictionary. Then when you're done, look up the word "contradiction".

    -Pete

  • Actually Java is plenty fast for this - OCaml, Scheme and Icon are no speed demons either. I wouldn't bet on that low level of a language to win though; the winners have usually been people running high level languages like ML and Haskell.
  • It's at http://www.ioccc.org
    --
    this post was brought to you by Andreas Fuchs.
  • by Captain Pillbug ( 12523 ) on Thursday August 24, 2000 @01:15PM (#829745)
    1999 [virginia.edu] was writing an optimizer for their fictitious NPC language, and 1998 [mit.edu] was to implement a program that plays pousse.
  • MCSE's probably wouldn't care. I doubt MCSD's would either but they're the ones you're aiming at :)

    --Clay

  • by Anonymous Coward
    Those guys at microsoft makee greet softwares. So leave them alones since they should be mentioned anyways. MIcrosoft is great in that they can competers so easiee to use. I knows because Im an mcse!

    Its great certificationes programs like mcse that makes 5th grade dropouts like myself sucessfull.
    Oh I am very smarts and thet is why I left 5th grade earlier to persue my mcse certification. The mcse is whole lots more changeling then reel college wark! and vb is the vest!

    Vb is so powerful that I can crete something called a loop so that my computer here can make descisions by looking comparing variiables. Try doing this MR Dennis Ritchie and Linus Trovalds, I bet you cants loop. That is truee jhacking I bet whole os's llike windows could totally be written in vb!

    Thanks you bill gates for inventing loops and real objects languages like vb that are truely objet oriented unlike c++ which just supports moduleses.
  • Awww Jeez ! Fixed Link [k12.ca.us]

  • Quick, all you Linux geeks out there, help a DOS fantic out: Is there a QBasic interpreter for Linux?
    :)
    -J
  • FrontPage? no, that thing really stinks. They'd probably be boo'd off the stage.

    --Clay

  • > ANY language is allowed. It says so EXPLICITLY.

    And bash is installed, which should renders some of the rants posted here irrelevant.

    So, check the machine description on the site! [cornell.edu]

    Hell, even bc is installed (-:
    --
    this post was brought to you by Andreas Fuchs.

  • Ohyeah? I'd like to see somone enter using Brainf*ck! [catseye.mb.ca] Or at least Befunge. [catseye.mb.ca]

    Bragging rights... hell, I would worship anyone who did this. (And I'm talking virgin sacrifices, et. al.)
  • Yep, you're right, they're definitely biased.

    For instance they rejected all the programs that core dumped, or could not produce well formed output.

    Actually, they were even more biased than that since they even tried to correct the programs to get some output from them before rejecting them (as it's described in this result paper ...

    I definitely agree, who cares if the program works, as long as it's fast ;-)
  • should have been this link [harvard.edu]
  • Which is a "compiler for a safe C-like language". One thing which they pointed really caught my eye though.

    "we couldn't help but notice that 12 out of the 16 programs written in unsafe languages failed to meet the basic correctness criteria whereas only 4 out of the remaining 21 safe language programs were rejected."

    Hmmmm...
  • ... and, of course, unlimited bragging rights.

    But as George W Bush would say, there ought to be a limit [slashdot.org] to bragging rights. ;-)
  • No bash? Sheesh, I guess the judges knew I would really clean up if they let me in there. ;) [It's a joke, laugh]
  • while people should be producing nice code, the people organizing should probably fix their own things instead - and make them run under something a little bit nicer. they'd fail their own rules :)

    'E:\ExternalWeb\icfp\cgi-bin\post.plx' script produced no output

    .. hrmf.
  • by Shoeboy ( 16224 ) on Thursday August 24, 2000 @01:20PM (#829759) Homepage
    Whath are thu thalking abouth.
    Lithp ith the betht languash around.
    --Shoeboy
  • heh, dos emulator running qbaisc...rock on!!! that should even get brownie points.

    --Clay

  • No way man!!! it's VBScript. Just ask all those l337 h4x0rz making the nasty e-mail attachments (kuz they AREN'T VIRII).

    --Clay

  • A guy I knew in college wrote a pretty good one for a compilers class or something like that. Basically all variable names became a number of underscores ("_" and "__", etc), all one line, eliminated as much whitespace as possible. Don't know if he also did things like typedefs to make it more confusing, etc. I'm sure there's more that he did too...

    Too bad the language he's working on now [byond.com] can't be used in the contest. It's a pretty nifty piece of work.

  • It's the closest thing to QB there is and I think you'll find it a wee-bit more useful than QBasic (32-bit binaries. Support for Windows and Linux under X. I could go on, but you get the picture...)
  • Software isn't immoral. People are immoral. All "moral" tools can be put to immoral uses and all "immoral" tools can be put to moral ones. The authors of Jammer are certainly misguided, but if you have need of the tool, then use theirs or write your own.
  • Think I could win the Judge's Prize by trying to write the worst program in the competition? I think it could be really interesting to try and write a program that loses at pousse as soon as possible or that actually 'optimizes' their NPC into something with a bigger codesize that runs slower.
  • There is a Visual Basic VM implementation for Linux. http://www.softworksltd.com/vbvm.html [softworksltd.com] has a little bit more information on it..

    Please, feel free to enter your Visual Basic 5.0 or 6.0 programs! I like to laugh!!
  • Shows how shitty LISP is that you consider its nearest rival to be Perl.

    Huh? Emacs Lisp might well be one of the worse Lisps. Lisp had the advantage on Perl that it has optional declarations, can be compiled, and has huge meta-level possibilities. Perl is an exemple of C with retrofitted 1/3rd of the possibilities of Lisp.

    Now I don't use Lisp, except for very specific programs, but I sure can recognize its power.

  • They say you can use any language you like, functional or not, but look carefully at this quotation from the contest page:
    Although the precise task chosen will not be revealed until the contest begins, algorithmic cleverness matters. Performance may matter. Programming languages that help programmers to build complex systems quickly may allow contestants to attempt particularly sophisticated implementations in the 72 hours allotted for programming.
    In other words, the criteria for winning are completely subjective. The judges can make whatever arbitrary decision they choose and back it up with subjective talk about "sophistication" and "cleverness", without having to take performance into account at all.

    You obvioulsy didn't read the announcement very well (not even the quote that you are citing). It says that the task will be choosen such that algorithmic cleverness etc matters. That's all. The judgement won't be on subjective, but on objective criteria - like does your program work. Mind you, last year, most C, Perl etc. submission loosed just because they had bugs in them - they just produced the wrong result or crashed. That's a pretty objective test, I would say (if you don't believe me, look at the Web pages from last year).

    Now, you can say that choosing a programming task that requires some non-trivial algorithms is a bias in favour of FP languages. And, yes, you are right. But that's the point. When programs and algorithms become more complex, more sophisticated programming languages buy you something. If you don't believe it, then demonstrate that you can produce a working implementation to a algorithmically challenging problem in 72 hours and get rid of all your bugs.

    Chilli

  • Am I the first guy to speak about Forth here ?
    It is IMHO one of the most elegant languages ever, even though you first have to declare many words in order to code efficiently.
    (Depending on the interpreter used) a Forth program can be faster than the same optimized program coded in Assembly !
    I indeed saw some that were reoptimizing the generated low-level code according to specific contexts.
    I just wish some competitor could just validate my admiration for this language upon the others.
    --
  • We have no hesitation in recommending Cilk as "the programming language of choice for discriminating hackers,"

    Objective CAML is the programming tool of choice for discriminating hackers.

    So their tastes are fickle as well as biased.

    Ummm... you might want to read the list of prizes [cornell.edu], which offers as part of 1st prize:

    Peer recognition: Finally, the contest judges agree to state at least once during the presentation of the awards that the winning team's programming language is "the programming tool of choice for discriminating hackers."
  • You clearly haven't read the paper [harvard.edu] describing how the entries were evaluated.

    Some interesting points to note from the paper:

    • Of the 37 entrants, 9 used C, 5 used C++, 2 used Perl, 1 used Java and 1 used assembler (total: 18 entries - 50% - used imperative languages);
    • 7 entries were eliminated for core dumping etc. (4 C, 1 C++, 2 Perl);
    • 9 entries were eliminated for producing semantically incorrect results (4 C, 1 C++, 2 Haskell, 1 OCaml, 1 OLabl);
    • the remaining 21 entries were scored according to the quality of the results they produced (ratio of optimized output size to input size). The top 6 are all functional languages, with the top two entries being written in under 24 hours in Haskell. The top 6 entries achieved ratios of 48.3 - 57.7%; the next in line was a C++ entry at 65.6%, followed by a C entry at 75.7%.
    • Only 6 out of the 18 imperative language entries worked - that's a 33% success rate.
    • Only 4 out of the 19 imperative languages failed - that's a 79% success rate.

    Of course, after that it was all very subjective. The overall winner was the best optimizer, ran to a mere 376 LOC (average entry was 1500 LOC), and the programmer claims to have spent only 6-8 hours on the task. The second place winner was the second best optimizer. The remaining winner was the third best optimizer.

    Ralph

  • Give Borland 10 years and you might be able to use Delphi.

    I'm hoping Delphi will be ready next year so I can use it. However, Delphi will rely on Qt for its (Linux) GUI implementation, and a search for "qt" in the package list didn't turn up anything. Am I looking for the wrong thing (yes, I'm a newbie)?

  • by PD ( 9577 )
    Oh for Brainfuck's sake.

    Squicking is a word that arose from a very specific story posted on alt.sex somewhere around 10 years ago. My comments were NOT trolls, and they didn't merit a -1 score.

    My comments were meant as humor, to add to the thread with such a goofy programming language. Why not make a goofy virtual machine to go along with it?

    The very fact that NOBODY seemed to know what squicking was is PROOF that the link to the admittedly sick squicking page was REQUIRED. Still, nobody got it.

    10 years ago, squicking was an actual topic on alt.sex. Except for me, Elf Sternberg, and a few others, everyone else apparently has forgotten that.

  • But what if the winner uses hard-coded machine code -- directly? Would this have any effect on the assosicated computer language conference?

    Only if you can write it object oriented with a GUI interface. Better get going on those toggle switches, sport, that PDP-3 ain't gonna code itself!

    Vote [dragonswest.com] Naked 2000
  • by Anonymous Coward
    We got too hungary.
  • There's a linux implementation [byond.com] available. That's all it takes.
  • Except for machines with the latest DevStudio beta installed. Duh!

  • So I suspect the POSIX and Motif compiance are not required of NT?


    If not, good thing. All things being equal, they'd probably just require Linux to provide that enhanced BSOD feature thats so tightly integrated into NT/2000, that it cannot be removed.

  • J is a great powerful functionnal language. See what the have done at iCFP 98 : http://www.jsoftware.com/studio/pousse.htm (Note that J has no connection at all with Java)
  • Firstly, the contest is not a programming contest but a unix geekfest. Put a decent Delphi programming in there with Delphi and Win32 and he would kick ass so quickly it woudln't be close. Where the fuck are the modern languages anyway? I just see a bunch of 1980ish stuff.
  • The winning team from 1998 included Charles Leiserson. He co-authored the algorithms text I used in grad school. Yeah, like anyone has a chance of beating him.

    Damn, I would claim my own eternal bragging rights if I could get a program to compile in a contest he's in.
  • he ultimate challenge is for someone to win with something written in APL. Then not only will they have proven themselves truly gifted coders, but then we can have a contest to see if people can figure out what they wrote!

    This has already happened with an APL variant, "J" in 1998. They even won Judge's prize :-)

  • You become an advocate of a language by recognizing its power? Well, to compare with that, I use LISP for 40 hours a week professionally. And in doing *that* I've come to the conclusion that it sucks. At least, compared to a good OO language like C++ or Smalltalk. On the other hand, it *is* better than Perl - it just made me laugh that you compare two shitty languages and say one's better than the other. They're both shitty! ;)
  • Of course. It all makes sense to me now; this is nothing other than another huge international setup to get all the best proggramers (and thus lots of the hackers as well)! I see thru the trap! Fight but never surrender!
  • It's easy to be mistaken, when you don't read the rules. ANY language is allowed. It says so EXPLICITLY.
  • There's QBCC [tekscode.com] and there's a linux port of Chipmunk Basic [nicholson.com]. Both are QBasic compatible.
  • How many people have read the 1999 task? How many people understood it?
  • Last year's task was to build a source-code optimiser for a high-level language. The organisers defined the language, provided examples and screwed up. The language was based around a finite state machine, and they forgot to mention that a variable called 'state' was available. They were *very* apologetic.

    This sort of competition is fun and rewarding. But it won't help in the *real* world, where we all crank out database code for a living.
  • Painful!

    It says on the homepage that it's released under the BSD Licence; there needs to be a BSDM Licence for something that excruciating.

  • by Captain Pillbug ( 12523 ) on Thursday August 24, 2000 @01:53PM (#829790)
    So the server's been slashdotted. No fear. 1999's is cached here [google.com], and 1998's is here [google.com].
  • I do indeed get the picture, and what an interesting picture it is. I especially appreciate the fact that it's written for both win32 and X. It looks quite useful.
    Thanks!
    -J
  • From the contest site:

    This programming contest is being conducted by ICFP, which implies a context of functional programming. However, rather than debate the definition of a "functional programming language," we will allow submitted programs to be written in any language whatsoever, as long as it has an implementation for Pentium PCs running Linux (Red Hat 6.2).
  • At Neozones [neozones.com], the QBasic source code has been floating around for a while. The majority of QBasic's source is written in C, so it shouldn't be too difficult to port to Linux.
  • by Anonymous Coward
    Just so you know, Cilk isn't actually a functional language, but a slight modification of C to make parallelism easy. So their top prize went to a language that isn't functional that time. Actually, Cilk can be compiled correctly (although without the gain in parallelism) with a normal C compiler with a short header file.

    The particular things they said about the winners were stock phrases (mostly), and mentioned before the contest in the prize listings.

    I think the bias is mainly in who enters; it's mainly people using experimental languages, which are often functional. Also, functional programming languages tend to have features like garbage-collection that make it easier to do short projects quickly.
  • by JeromeV ( 184488 ) on Thursday August 24, 2000 @03:22PM (#829795)
    I think you missed the fact that the phrase ... is the programming tool of choice for discriminating hackers is part of the first price, while the phrase is a fine programming tool for many applications is part of the second price (and "a bunch of extremely cool hackers" is for the judge's Prize). This explain why the first one is applied one year to Cilk and the next year to Ocaml.
    We note that this OCaml entry beat out 23 C and C entries, many of these being highly tuned programs produced by extremely competent programmers skilled in game-playing algorithms. This is a strong statement as to the performance of compiled OCaml software.
    Is it really? The games were not timed. Furthermore, we know from the nature of the contest that performance is not an issue; only winning counts. Is this just a sloppy use of language, or an unsubstantiated statement that shows again the judges' bias?
    The games were timed (30s maximum by move). And, the best programs used a brute force algorithm (alpha-beta search), so speed was essential.
  • Hey man, there's a functional component in C++'s STL. I cringed to see map et al. in this ungodly language. Of course the syntax is impossible and makes you long for the parentheses of LISP or Scheme.

  • by milesegan ( 134096 ) on Thursday August 24, 2000 @04:00PM (#829797) Homepage

    Your accusations of bias are completely unfounded. The paper discussing the results [harvard.edu] of the '99 contest clearly states the objective criteria used to determine the winners. Entries were judged first on code correctness - each entry had to correctly process all of the test samples. The prize then went to the entry that produced the most highly optimized output. In other words, the prize went to the the entry that objectively produced the most correct and efficient code.

    The winners of the '98 contest were simply the best players of the game. What could be more objective? As far as the Judges' Prize is concerned, the contest announcement very clearly states:

    Finally, the Judges' Prize is to be awarded, not on the basis of the competition, but solely at the whim and discretion of the judges. Novel algorithms, interesting languages, beautiful code, arresting user interfaces, use of parallelism -- these things may well count for something in the judges' eyes.

    This is clearly a subjective decision, but the contest organizers make it very plain that this is the case.

    You could perhaps argue that the choice of problems that involve complex translation or problem-solving show a bias towards functional languages, but the fact of the matter is that you'd have a hard time coming up with a good high-level programming problem that wasn't better attacked with a functional language. The winners give much more lucid accounts of the advantage of functional languages for complex problem-solving than I could hope to. They're worth reading.

    Another interesting recent study [nasa.gov] explored the productivity advantages of lisp over C/C++ or java. Their conclusions are also very interesting.

  • wow, that'd be hilarious!! in fact it might even encourage me to shoot for last and write some really lame code. i'm sure they could do it though, it wouldn't really cost them anything, but it'd sure be funny.
  • I probably should have attached my note to the parent of your article. Yes, you did get it, but the clueless cowards who used the "overrated" tag so their bad moderation wouldn't stand in meta did not.

  • They are fast compared to what? Java? All I was saying that Java wasn't going to be slow compared to your competitors. You didn't provide any evidence or facts about that, you just insulted me. "damn fast" and "*extremely* fast" means nothing.
  • I'm convinced that lisp was invented by someone too lazy to write a decent parser.

    Indeed. The original plans for LISP called for a compiled language with a fairly traditional syntax (the famous "M-expressions"). However, writing a compiler was seen as a very large project. (The only compiler that had ever been written at the time was FORTRAN, which had taken about a zillion man-years).

    So to get some experience with the language in the meantime, an interpreter was put together. No effort was wasted on writing a parser for M-expressions, and instead you fed what was essentially parse trees -- S-expressions -- into the interpreter.

    And they lived happily ever after.

  • While the evaluation procedures used are perfectly objective, there are two more subtly ways in which the contest could be said to be biased towards FPLs.

    First, the choise of problems might the kind functional programmers are interested in. Probably, few C hackers or Perl programmers have thought much about the problem of optimizing decision trees for pattern matching, while authors of ML implementations certainly have.

    Secondly, the people who come into contact with the ICFP mostly belong to the functional programming community. Thus, most of the serious competitors will favour FPLs, so they will be overrepresented among the winners.

  • You become an advocate of a language by recognizing its power? Well, to compare with that, I use LISP for 40 hours a week professionally. And in doing *that* I've come to the conclusion that it sucks. At least, compared to a good OO language like C++ or Smalltalk.

    I depends what you are doing. Writing a compiler in Lisp sounds sure much easier in Lisp than in C++ (I wrote one for a mini-language). Of course, I'm not using Lisp everyday so you have a point :-)

    On the other hand, it *is* better than Perl - it just made me laugh that you compare two shitty languages and say one's better than the other. They're both shitty! ;)

    Hmm... Perl is uncessarily weird. Lack of syntax from Lisp is precisely what allows meta-programming. Are you using Lisp macros in their full power ?

  • you get the "elmer award" for your fudliness

    That is the funniest thing I have heard in weeks.
    Did you make that up yourself?

    ---CONFLICT!!---
  • Perl always wins these kinds of contests, it seems, when there's a knowledgeable Perl programmer (or team) entered. It makes sense too. If you wanted to program something quickly and you knew all common programming languages, which would you choose? Also, the kinds of problems given in these contests are typically ones where programming language choice is a fairly neutral decision. In other words, they aren't going to assign a complex database problem, because everyone would choose [insert your favorite DB language here]. Likewise, it's not going to be a kernel or filesystem problem, or everyone would just choose [insert your favorite mid- to low-level language here]. Typically it's an interesting math problem, or a CS theory problem, and if there is any bias towards a particular language's features, it tends to be a bias in the direction of the kind of things Perl is particularly good at.

    I think this kind of test is interesting, and fun, but I don't think it proves what some of you might be thinking. This test is going to last 72 hours. How many projects last 72 hours? How many projects are finished by the same team that started them? How many projects are never maintained after being completed? How many projects have no particular bias towards the features of a particular language? If you had a project like this, which language would you choose? Would you then decide to use that language for all future projects, regardless of what they might be?

    Don't get me wrong. Perl is cool, and it is a very useful tool, but I don't think that any language is "the best". Perl just happens to be a very good language for programming contests. Does that mean we should embrace it to the exclusion of all others?

    David Fay

    P.S. For those of you who think that Perl sucks and [insert your favorite "best" language here] kicks Perl's a**, just remove Perl from the above text and insert the name of your pet language. Is everything I said still valid? Thought so. Let's pick the language for the task, like engineers, not the "best" language for all tasks, like a zealous fan.
  • Search for the cutils package (I know it's in Debian), specifically obfusc and unloop. GPL and all that, makes code practically unreadable.
  • I guess the 2000 comp could be to see if anyone can write a sucessful linux virus.
  • That link is the most disgusting thing I have ever seen, read, or heard. I'm all for free speach, but ... I think I need to puke, take a shower, go to mass, and then drink heavily. Wrong, wrong, wrong.

    ---
    In a hundred-mile march,

  • Vlad' must be moderating. Whoopie-shit.
  • I'm not sure if you were really trying to be funny or are actually serious.

    If you're serious, check out RapidQ... forget the others, especially Xbasic. Xbasic is limited.

    RapidQ is a semi-object oriented language, that is a sort of hybrid between Basic and C++...you can code just about anything you want, and compile it for solaris, BSD, linux, m$windows, etc... including GUI, Text, or CGI apps. (single executibles for you windows fans!)

    I've been using it in it's Beta form for over a year now and have been testing and participating in it's development. It's a closed source language, open licensing and is FREEWARE. It's extremely stable as well.

    Seriously, I'm entering the contest and writing in RapidQ.

    Check it out http://www.basicguru.com/abc/rapidq

    --cr@ckwhore

  • I think it could be really interesting to try and write a program that loses at pousse as soon as possible

    Didn't you take 6.170 and learn to play AntiChess? (If you don't get this, I can't explain it to you...)

  • by Tom7 ( 102298 ) on Thursday August 24, 2000 @02:23PM (#829814) Homepage Journal
    Practically nobody here has mentioned that this contest is supposed to be for functional programming languages. Good examples of this are ML, O'Caml, and Haskell.

    They'll let you enter in whatever language you want, but you'd probably get beaten up at the ICFP (International Conference on Functional Programming) if you displayed your entry in something like C or Perl. ;)

    BTW, some EXTREMELY talented hackers (the kind that make me fall to my knees and cry when I hear their names) have entered and won this in the past, so good luck if you plan on entering!
  • Perl supports full closures and anonymous functions. It may not be a "real" functional language, but it isn't officially anything other than darned handy to have around...

    You can certainly program Perl in a functional style.

    Cheers,
    Ben
  • So their tastes are imperative as well as fickle, in some years.

    Cilk is pretty cool, actually. When I saw that it won so easily, I downloaded and played with it. Didn't use it for anything really cool, though.

  • by Daveamadid ( 200369 ) on Thursday August 24, 2000 @12:52PM (#829823) Homepage
    To quote one of the "Real Programmers" list...
    • Real Programmers never use Lisp. Only sissy computer scientists use more parenthesis than actual code

  • I'm gonna submit mine in brainfuck [muppetlabs.com]. Just to get the contest blacklisted by censorware idiots.
  • Writing a LISP compiler in LISP is a joy! The benefits are less clear for, say, a C++ compiler. LISP definitely makes the syntax parsing easier. But writing an industry-strength compiler is a different matter. You really want to be using objects, and CLOS is very slow compared with C++. The listy aspects are only a small part of a full compiler, but a large part of a mini-compiler, IYSWIM. Part of our project is indeed a compiler, and the main problem with that is its speed - not good. But if you were doing a CS course and one of the assignments was to write a mini-compiler, then LISP would be a good choice of implementation language.

    We use LISP macros everywhere, sure. That's one of my complaints about the language. Everyone on a team can write their own mini embedded language, using macros, which means everyone else's code is virtually incomprehensible to you - and vice versa. But macros is definitely a powerful feature, and I was attracted to LISP initially because of that power.

    Anyway, my complaints about LISP are not entirely serious. Horses for courses, etc. etc. It's just when you use a language everyday its flaws become oh-so-apparent. And you like to moan! But I'm not saying that LISP is without its uses: emacs being a case in point.

    But then, personally, I hate emacs too <g>

  • by Q*bert ( 2134 ) on Thursday August 24, 2000 @02:32PM (#829835)
    They say you can use any language you like, functional or not, but look carefully at this quotation from the contest page:
    Although the precise task chosen will not be revealed until the contest begins, algorithmic cleverness matters. Performance may matter. Programming languages that help programmers to build complex systems quickly may allow contestants to attempt particularly sophisticated implementations in the 72 hours allotted for programming.
    In other words, the criteria for winning are completely subjective. The judges can make whatever arbitrary decision they choose and back it up with subjective talk about "sophistication" and "cleverness", without having to take performance into account at all.

    So what kind of programs do you think are going to win a contest called the International Conference on Functional Programming Contest? Hmmmn, maybe programs in functional languages? Let's look at past years' results: From 1999: [harvard.edu]

    The Judges are sure that the choice of language played a role in this team's ability to produce a top entry in a mere 24 hours, and they are pleased to pronounce that
    Haskell is a fine programming tool for many applications.
    (italics theirs), and again:
    There is no doubt in the Judges' minds that

    Objective CAML is the programming tool of choice for discriminating hackers.

    (italics and formatting theirs). Lest you think the contest used to be biased, look at the results from 1998 [mit.edu]. These ones have a refreshing touch of objectivity, since the challenge was to produce a chess program, and entries were judged by playing each other. Still, look at these glowing elegies of functional programming:
    We have no hesitation in recommending Cilk as "the programming language of choice for discriminating hackers,"
    (So their tastes are fickle as well as biased.) Though the second-place prize had several strong contenders in non-functional languages like C, all the praise went to another functional program:
    The competition for second prize was much fiercer, and, in fact, the second round of games among the six finalists produced a three-way tie for second place, between Brad Kuszmaul's Alpha Beta Soupa ST entry (written in C), Lennart Augusston's la entry (written in C), and the ENS Camlist team's OCaml entry.

    The contest judges resolved the tie by playing a final round of games between the three teams vying for second place -- and the clear winner was the ENS Camlist team, who handily won all four of their tie-breaking games (defeating the other two entries both as X and as O).

    So C held its own, thought OCaml came out in the end. Still, as you would expect by now, all of the praise is reserved for OCaml:
    We note that this OCaml entry beat out 23 C and C entries, many of these being highly tuned programs produced by extremely competent programmers skilled in game-playing algorithms. This is a strong statement as to the performance of compiled OCaml software.
    Is it really? The games were not timed. Furthermore, we know from the nature of the contest that performance is not an issue; only winning counts. Is this just a sloppy use of language, or an unsubstantiated statement that shows again the judges' bias?

    Of course, they take some extra time to pile more praise on functional languages in the third-place winner, and on the remaining entry:

    It would only be stating the obvious to say that OCaml is "a fine language for many programming tasks" -- including some not traditionally held to be the domain of functional programming.
    and, of the functional programming language J, used by a single entry that won an honorable mention:
    Without a doubt, "a bunch of extremely cool hackers" -- and an extremely cool programming language.

    So there you have it. I think these comments show a strong enough bias toward functional programming, and against C in particular, that I would not trust the judges. I am not saying that FP is necessary worse than other programming paradigms or languages; in fact, I happen to think that functional programming is a cool idea. Tools like OCaml may in fact be superior to C (and my personal favorite, Perl). However, I don't see this contest as anything approaching a fair test of whether that is true. I definitely wouldn't waste my efforts entering this contest with anything but an FP language-- which hesitance, of course, perpetuates the bias of the contest.

    Judge for yourself, but I say this is a self- congratulation-fest for functional programmers and a dubious test of the true value of FP.

    Vovida, OS VoIP
    Beer recipe: free! #Source
    Cold pints: $2 #Product

  • The FP in ICFP stands for functional programming. It's a programming contest designed to flex functional programming languages, and promote their use. Deal with it. The reason they let any language enter is that everyone might not be so privvy to functional programming.

    Part of the first prize is that the judges will say "[insert winning programming language] is the programming language of choice for discriminating hackers." Something similar for second prize.

    So, yes they're biased towards functional programming languages. Deal.

  • The Judges are sure that the choice of language played a role in this team's ability to produce a top entry in a mere 24 hours, and they are pleased to pronounce that Haskell is a fine programming tool for many applications.

    You silly person. Pronouncing the winning language a "fine programming tool for many applications." is the explicit reward for winning second place! Same with the other pronouncements (for other places)....

    (Not that they wouldn't be biased towards functional languages... they don't disallow other languages because they don't want to have to say which languages are or are not functional.)
  • ...is to design and implement the language you're using. The 1999 winners were the authors of OCaml, GHC, and HBC.
    The 1998 winners built Cilk.
  • Yes, I love and use LISP.. And have registered myself for the contest. if you want to join me, bounce me an email..

    (Though I do wish that they had CMUCL on their machine. It's still the most sophisticated and fastest lisp compiler out there... It's comparable in speed to C, with all the plusses of LISP.)

  • That's a scheme program, it's not common lisp.

  • by bat'ka makhno ( 207538 ) on Thursday August 24, 2000 @12:59PM (#829850)
    Teams will have 72 hours to implement a program to perform this task and submit this program to the contest judges.

    Three days of amphetamine fueled creative rage, just what I need after meeting that deadline Friday afternoon. Hope the cash awards offset the cost. ;)


    --
    Violence is necessary, it is as American as cherry pie.
    H. Rap Brown
  • Shows how shitty LISP is that you consider its nearest rival to be Perl.
  • by Anonymous Coward
    Those guys at microsoft makee greet softwares. So leave them alones since they should be mentioned anyways. MIcrosoft is great in that they can competers so easiee to use. I knows because Im an mcse!

    Its great certificationes programs like mcse that makes 5th grade dropouts like myself sucessfull.
    Oh I am very smarts and thet is why I left 5th grade earlier to persue my mcse certification. The mcse is whole lots more changeling then reel college wark! and vb is the vest!

    Vb is so powerful that I can crete something called a loop so that my computer here can make descisions by looking comparing variiables. Try doing this MR Dennis Ritchie and Linus Trovalds, I bet you cants loop. That is truee jhacking I bet whole os's llike windows could totally be written in vb!

    Thanks you bill gates for inventing loops and real objects languages like vb that are truely objet oriented unlike c++ which just supports moduleses.

  • We didn't finnish

    Did you norwegian instead?

  • by TheNecromancer ( 179644 ) on Thursday August 24, 2000 @01:06PM (#829856)
    Isn't their going to be a last place prize? The prize could be a speaker at the conference stating at least once that these programmers are "a bunch of complete losers, with no social life to speak of".

  • O.K., to my surprise, I have been proven by later posts to have been wrong in almost all of my criticisms.

    In a break with Slashdot tradition, I admit I was wrong and retract my post.

    Also, I pledge that I will hereforth wait no less than twelve (12) hours after smoking crack [gimp.org] before posting to Slashdot.

    Vovida, OS VoIP
    Beer recipe: free! #Source
    Cold pints: $2 #Product

  • Object dynamism is unnecessary. Mostly. Certainly, its prevalent use in CLOS and Smalltalk makes those languages slow. C++ is fast precisely because it doesn't have object dynamism, past virtual functions.

    This thing about "your CLOS implementation" is rubbish. There are only about five, and we have the best. It still sucks.

    Converting a large project to another language is not something to be done lightly. I certainly wouldn't spend months switching to another slow interpreted language.

    No, I hate Emacs too ;)

    I might not be spending 40 hours weeks writing C++ now, but I have in the past (thank God). Ambiguous nonsense is hardly a good description. The language is complex enough to have some abiguity for the naive - every ambiguity is actually not ambiguous, of course, or else programs wouldn't compile. That's nothing compared to the ambiguity of calling a CLOS method.

    Still, if you think interpreted OO languages are the future, don't let me put you off.

  • A GPL'd source obfuscator? That's pretty ironic.

  • by Wakko Warner ( 324 ) on Thursday August 24, 2000 @01:08PM (#829868) Homepage Journal
    Why isn't C# installed on the official contest machine?

    Oh, wait. Heh. It's not installed on any machines.

    - A.P.
    --


    "One World, one Web, one Program" - Microsoft promotional ad

  • Take a look at Jammer [online.fr]. It does C/C++ in addition to html and javascript. I don't have any experience with running it on linux, though, so your mileage may vary.
  • Anyone got a C# compiler for Linux yet? 'Cause I know it would beat the pants off of any other language available. I read this on a really colorful, shiny page in my trade journal just yesterday.

Neutrinos have bad breadth.

Working...