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.'"
Re:Shame it doesn't include Win32 ... (Score:1)
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
Programming Contest (Score:1)
INTERCAL must be a functional programming language (Score:2)
Free Speech for Programmers and New DeCSS Mirror (Score:1)
http://www.goingware.com/decss [goingware.com]
We now return you to your program.
Language biotry... (Score:3)
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:
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.
Re:Perl will win. News at 11 (Score:1)
Re:Biased! (Score:1)
Re:Lisp anyone? (Score:1)
Perhaps you should look up "intuitive" in the dictionary. Then when you're done, look up the word "contradiction".
-Pete
Re:Shame it doesn't include Win32 ... (Score:1)
seems like you mean the IOCCC (Score:1)
--
this post was brought to you by Andreas Fuchs.
Sure thing (Score:3)
Re:Only one thing can be said for sure (Score:1)
--Clay
leaves ppoor vb and mcsses alone (Score:1)
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.
correct link ( ARgh) (Score:1)
Ooh! Ooh! (Score:2)
:)
-J
Re:Just a thought... (Score:1)
--Clay
Re:Functional Languages Only (Score:1)
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.
Re:Just a thought... (Score:1)
Bragging rights... hell, I would worship anyone who did this. (And I'm talking virgin sacrifices, et. al.)
Re:Biased! (Score:1)
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
Re:Biased! (Score:1)
"we did actually write it in popcorn" (Score:1)
"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...
Unlimited? (Score:1)
But as George W Bush would say, there ought to be a limit [slashdot.org] to bragging rights.
Totally unfair! (Score:2)
but .. this ain't redhat? (Score:1)
'E:\ExternalWeb\icfp\cgi-bin\post.plx' script produced no output
Re:Lisp anyone? (Score:3)
Lithp ith the betht languash around.
--Shoeboy
Re:Ooh! Ooh! (Score:1)
--Clay
Re:Bash... (Score:1)
--Clay
Re:Please tell me (Score:1)
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.
Fetch XBasic off of SourceForge... (Score:2)
Re:Immoral program (Score:1)
Re:Sure thing (Score:1)
Re:Shame it doesn't include Win32 ... (Score:2)
Please, feel free to enter your Visual Basic 5.0 or 6.0 programs! I like to laugh!!
Re:Lisp anyone? (Score:1)
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.
Re:Biased!- FUD (Score:1)
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
Surprising (Score:2)
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.
--
Re:Biased! (Score:1)
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:
Re:Biased! (Score:1)
Some interesting points to note from the paper:
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
Re:Shame it doesn't include Win32 ... (Score:1)
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)?
Re:idiot (Score:2)
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.
Re:What if... (Score:2)
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
no (Score:1)
Why not? (Score:1)
Re:Hey, wait! (Score:1)
Posix and Motif on NT? (Score:1)
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.
The J language team will win once again (Score:1)
This contest is a joke (Score:1)
Wow, that's some competition. (Score:1)
Damn, I would claim my own eternal bragging rights if I could get a program to compile in a contest he's in.
Re:The ultimate Challenge (Score:1)
This has already happened with an APL variant, "J" in 1998. They even won Judge's prize :-)
Re:Lisp anyone? (Score:2)
That Programming thing (Score:1)
Re:Functional Languages Only (Score:2)
Yes (Score:2)
A show of hands please... (Score:1)
Last year's task.. (Score:1)
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.
Re:Screw that (Score:1)
It says on the homepage that it's released under the BSD Licence; there needs to be a BSDM Licence for something that excruciating.
cached versions: (Score:3)
Re:Fetch XBasic off of SourceForge... (Score:1)
Thanks!
-J
Yup (Score:1)
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).
Well, if you had the source... (Score:1)
Re:Biased! (Score:1)
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.
Re:Biased! (Score:3)
Re:*Functional* Programming (Score:2)
Re:Biased! (Score:4)
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:
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.
Re:Last Place prize? (Score:1)
Re:hey, man (Score:2)
Re:Shame it doesn't include Win32 ... (Score:1)
Re:Language biotry... (Score:1)
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.
Re:Biased! (Score:1)
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.
Re:Lisp anyone? (Score:1)
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 ?
Bwahahahah (Score:1)
That is the funniest thing I have heard in weeks.
Did you make that up yourself?
---CONFLICT!!---
Perl will win. News at 11 (Score:1)
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.
Open source C obfuscators (Score:2)
Re:Bash... (Score:1)
Re:Screw that (Score:1)
---
In a hundred-mile march,
Oops! I got modded to 0. (Score:1)
RapidQ!!!!! (Score:1)
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
AntiChess (Score:1)
Didn't you take 6.170 and learn to play AntiChess? (If you don't get this, I can't explain it to you...)
*Functional* Programming (Score:3)
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!
Why not Perl? (Score:2)
You can certainly program Perl in a functional style.
Cheers,
Ben
Cilk is threaded C for parallel/distributed apps (Score:2)
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.
Lisp anyone? (Score:3)
Screw that (Score:2)
Re:Lisp anyone? (Score:2)
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>
Biased! (Score:4)
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]
(italics theirs), and again: (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: (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: 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: 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:
and, of the functional programming language J, used by a single entry that won an honorable mention: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
Re:Biased? Not surprised. (Score:2)
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.
Re:Biased! (Score:2)
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.)
The Secret of winning ICFP (Score:2)
The 1998 winners built Cilk.
Done.. I just registered ``Lisp does not suck'' (Score:2)
(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 scheme, not [common] lisp. (Score:2)
72 hours (Score:4)
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
Re:Lisp anyone? (Score:2)
Leave ppoores microsoft alone (Score:2)
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.
Re:Last Year. (Score:2)
Did you norwegian instead?
Last Place prize? (Score:5)
Re:Biased! (Score:2)
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
Re:Lisp anyone? (Score:2)
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.
Re:Open source C obfuscators (Score:2)
A GPL'd source obfuscator? That's pretty ironic.
Hey, wait! (Score:3)
Oh, wait. Heh. It's not installed on any machines.
- A.P.
--
"One World, one Web, one Program" - Microsoft promotional ad
try Jammer (Score:2)
See Sharp! (Score:2)