

Idea: Site for Programming Language Challenges - llimllib

Programmers are often told to use the right tool for the job instead of the tool with which they're most familiar, but it's often difficult to figure out which is which.<p>Recently we've seen the Arc Challenge and the Erlang Challenge come up in the blogoworld, and I think they've been good at focusing comparative tool set discussions.<p>Why not create a website where people can post different challenges, and host the responses to them, along with discussion of their pros and cons, so that we can see more clearly the strengths and weaknesses of various programming languages and tool sets?
======
jcl
I am surprised that no one to this point has brought up the Programming
Language Shootout. It compares many languages across some simple problems.
(I'm not sure whether or not it would allow Arc at this point, since
widespread use is a criterion for inclusion -- but there's nothing stopping
someone from writing the programs for comparison.)

[http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?t...](http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=all)

Note that the shootout compares code size using gzipped size -- which should
be even more generous to Lisps than PG's token count, due to the easily
compressible parens. However, Lisp and Scheme actually do quite poorly by this
metric, even ranking below some statically typed languages, while Python,
Perl, and Ruby do particularly well. I'd love to see where Arc would rank,
considering that it was designed with brevity in mind.

------
pchristensen
One problem would be that if the challenges were easy, you'd get tons of silly
entries, like the bottles of beer challenge. If they were hard, you might not
get enough entries to be representative. Solutions:

1) Find a sweet spot of difficulty for each problem. This would be hard.

2) Offer prizes, bragging rights, publicity, etc for excellent solutions. This
wouldn't be hard, just take resources.

~~~
DocSavage
You'd also want to differentiate types of challenges and solutions by whether
they were using base language, base lang + libraries, or anything available to
language. I think its different saying I can solve a challenge with a little
hacking in a language, and saying I can solve a challenge importing a nifty
library then use a few DSL commands. On the other hand, if we're just trying
to gauge productivity using a language, the ease of incorporating open source
solutions (even written in other languages) should be important.

