Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Rosetta Code: solutions to the same task in many languages (rosettacode.org)
80 points by derwiki on May 26, 2011 | hide | past | favorite | 16 comments


When learning new languages, by far the best project I've seen is the minimalist task manager. It accepts only command line parameters, and just actions to add, edit, remove and print. But it covers:

  - control flow
  - strings
  - arrays
  - standard input/output (when adding/editing and printing)
  - file IO
  - using modules
  - reading command line parameters
  - output formatting
  - editing and running programs (this is important)
All that in very few lines with very simple logic. And then there's the challenge to minimize it. The smallest I have seen is 6 lines of python, less than 270 characters total. To do this you must abuse the language, and it requires a deeper understanding of what's going on behind the curtains.

It doesn't take more than a day, and from there you can dive into more abstract concepts with much more fluency.


Rosetta Code is awesome. One of my good friends (http://rosettacode.org/wiki/User:Mwn3d) has helped maintain it for a while, and the main guy behind it (shortcircuit: http://rosettacode.org/wiki/User:Short_Circuit) is a great, helpful gent.

I actually hosted the site off my SliceHost account for a bit, and tried to write a new skin for it that didn't look like MediaWiki. Looks like this is inaccurate, but it's funny to see the languages bit from 3 years ago for me: http://rosettacode.org/wiki/User:Qrush


Don't forget the p-p-p-POWER APARTMENT!


This is excellent! A real help for people who like to learn from example. I'd love to see some more math stuff translated to source code. It's a great help for people who suck at math but are able to read source (like me).


I love Rosetta Code. For common problems, the solutions cover a very long list of languages, sometimes with multiple solutions. It's a great tool when you're learning a language and want to see why the code you've written doesn't feel natural.

For me, it's also been useful for finding new languages. Scrolling around, you occasionally see a language with a particularly clever or readable (or just quirky) solution, and you can bounce around the wiki to see what other examples in the language look like.

http://99-bottles-of-beer.net/ is also a great page for browsing languages. Of course, it's a bit more whimsical and the focus is on a single problem (a good one, though: it covers conditionals, looping and I/O), but it covers a large number of languages and is easy to browse.


I really like the idea, but http://rosettacode.org/wiki/Rosetta_Code:Add_a_Task is dissuading me from contributing. I'd much rather clone a Github repo and make a pull request to submit my version of something.


It seems reasonable to me. What's the issue?


Lack of time to implement? Maybe someone with more time will read this, agree, and make it happen :)


It does take a bit of work to add a new task, but it's important work. Without it the problem is difficult to understand and the correctness of solutions is impossible to verify.

However, if you don't want to write the boilerplate, task suggestions are welcome: http://rosettacode.org/wiki/Rosetta_Code:Village_Pump/Sugges...

I don't know how effective a suggestion is, but my bet is that the interesting ones are processed quickly. I've been visiting the site and it has grown very rapidly, owing in no small part to all the work shortcircuit does.


I like the Idea and will definitely contribute when I get a chance.

Please note that folks at Rosetta Stone are pretty aggressive on copyright matter, watch out!


I really can't get my head around how Rosetta Stone could possibly be a protected term with regards to any kind of language comparison or translation. I mean, people know where they got the name from, right?


Remember Facebook with anything Book, I guess they did not invent book either. Big companies always have ways to come after small folks.


I think Facebook has a case, at least with regards to dogbook/catbook/petbook, because why the hell would you call something "dogbook" unless you were trying to say "it's Facebook but for dogs"?

But Rosetta stone named themselves after the Rosetta Stone which is an ancient translation tool, for them to then turn around and try to protect that as if it was their copyright is just mind boggling (to me, anyway).


It would be trademark, not copyright. The difference is extremely important to the question of whether they can "own" the term in some sense.


Great idea, but I think this would be much improved by some standardized test cases, especially for the algorithms. I saw a lot of haphazard 3-input tests.


Cool. Reminds me of http://pleac.sourceforge.net




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: