Building a Programmer's Rosetta Stone 215
Did you ever run into the problem where you knew how to do something in one programming language, but really needed to do it in another? That's what Rosetta Code is all about. A variety of programming tasks are solved using as many languages as possible. You can examine existing tasks, or create your own.
No Fair! (Score:5, Insightful)
Usage (Score:5, Insightful)
At any rate, I think this site has already encountered a problem which is only going to escalate as it grows: code isn't cross-indexed properly at all. For example, there are many "programming tasks" with solutions in C, but there is nothing on the C page. I think this problem stems from the fact they used MediaWiki.
MediaWiki's great for something like... well, Wikipedia. But it doesn't support a cross-referenced database like this. The wiki concept is good for this site, but the server needs to be running some software designed better to the task.
Should I be impressed? (Score:4, Insightful)
The site has absolutely no real content. There are only a couple of pages on the whole site. The most advanced thing found there is something along the lines of how to open a file with mIRC scripting [rosettacode.org] (no C/C++/Java) and that bash scripts (usually) start with #!/bin/bash [rosettacode.org]. Oh, please. Should I be impressed?
Re:It may prove useful. (Score:5, Insightful)
This site could be useful, but MediaWiki doesn't seem the best tool to use, and the content so far is rather sparse. I'm uncertain whether this will prove a success; it's an interesting concept, but many interesting concepts have fallen by the wayside.
Re:Should I be impressed? (Score:3, Insightful)
The firehose will help with things like this.
I agree it was empty and its implimentation feels flawed, but it gives a baseline for thoughts other people may be having.
I know *I* have been thinking about this since I saw it and how it should/could be once filled.
It gets a thumbs up from me.
Re:Pointless, don't bother! (Score:5, Insightful)
Re:Usage (Score:4, Insightful)
But this kind of thing should be very good for someone learning a new language - you know how to do it in one language, now you're looking it up in another one... like learning the most common phrases first when learning a natural language.
I hope this project will amount to something; it can be really useful.
Re:Should I be impressed? (Score:1, Insightful)
Re:Pointless, don't bother! (Score:3, Insightful)
Whoops, my fault. Being a hater is easier.
This is the reason why software sucks (Score:1, Insightful)
Are you really afraid to accept that software is a BLUE COLLAR job today? I think that is why we MUST (re)CREATE something every fucking time.
It is like an arms race, proliferation of code.
Implement it once and reuse it many times. Yes I know it is the holy grail but this is not a TECHNICAL problem, it is more of a POLITICAL problem. This is why software will continue to suck.
But... (Score:3, Insightful)
AC: Stupid article, the guy could have used Haskell and solved his problems
BB: But maybe he didn't know Haskell?
AC: Then he deserves get fired!
Re:It may prove useful. (Score:5, Insightful)
Re:It may prove useful. (Score:3, Insightful)
This is what has been called the "Turing Tarpit." In a formal logical sense, all turing complete languages are equivalently powerful. But that means that punching holes in a paper tape by hand is technically as powerful as a high level language. We have high level languages so that we don't have to twiddle ones and zeroes.
High level languages themselves differer in expressiveness. They can all accomplish the same tasks, but some languages make certain tasks a whole lot easier. For some language pairs, the only way to easily accomplish certain tasks in the less powerful language is to write what amounts to "an ad-hoc, informally-specified bug-ridden slow implementation of half of " [greenspun.com] the more powerful language.
As a consequence, there is no "basic" or "generic" list of programming tasks. Tasks that one has become accustomed to do in many languages are a non-issue in some other languages. "Design Patterns" in some languages don't exist in certain others because the language itself makes them unnecessary (see Google's director of search quality, and AI expert Peter Norvig's treatment of the subject [norvig.com] especially this slide [norvig.com])
A site like Rosetta Code could only be useful for languages that are so similar that they essentially differ mostly in surface syntax. For languages much different than this their whole paradigms are different, and many of the tasks themselves are no longer the same.
Re:Pointless, don't bother! (Score:3, Insightful)
The whole idea of a wiki is for the community to build the content. The Rosetta Code is rather new, of course it's not complete. But it's a damned good idea, and deserves wider advertising so that the wiki will be filled!
However, having said that, I agree, which is why I wasn't sure about firehosing this journal entry just yet. Better to let the professional FOSS experts at Technocrat have a crack at it first.
Re:But... (Score:3, Insightful)
This is true for programming as well. You can aquire a deep understanding of a few languages, or basic survival skills in dozens. Aquiring a deep understanding in dozens of languages is a truly exceptional feat.
But on the other hand, I disagree that a deep understanding of a single language is more useful than a working knowledge of a dozen (as you seem to imply). A good programmer needs to know the limitations of the environment that he or she is working in, and the only way to do this is via comparison. Furthermore, learning different languages exposes you to different ways of thinking about a problem; if you don't learn a good spread of languages, your perspective is severely limited, and this naturally affects your ability to solve problems efficiently. To use a metaphor, I believe stepping back and seeing the whole wood is more important than gaining detailed information about a single tree.
Finally, I'm not sure I'd say that the only alternative to a deep understanding is "basic survival skills". Perhaps instead:
Re:I don't know about firehosing it (Score:1, Insightful)
But this does not explain how an enlightened mod crept in and modded you up earlier. It is encouraging to think that there might be one non-redneck who earned mod points around here.
The censors here will clamp down on anything critical of the fatal flaws of capitalism pretty quick usually.
I find it very strange that a basically open source software and nerd site is so strongly dominated by right wing a-holes. They have a way of taking over every public forum I have ever come across. I suspect that they are motivated to defend the evil of capitalism because they know at heart that it is morally just about as wrong and evil as the human soul can get, therefore it needs all the reinforcing propaganda and dogma that it can get.
Let him who hath understanding...