Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Idea: Site for Programming Language Challenges
3 points by llimllib on Feb 8, 2008 | hide | past | favorite | 3 comments
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.

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.

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?




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...

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.


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.


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.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: