Building a Programmer's Rosetta Stone
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.
A lot of the tasks assume imperative programing, e.x. assigning values to an array. This should be about algorithms that we can all implement, not code fragments that assume a particular style of programing.
Inventions have long since reached their limit, and I see no hope for further development.-- Frontinus, 1st cent. AD
I'm not sure the right idea is to "know how to do something" in a particular language. If programmers are encouraged to learn algorithms specific to a particular language, how will they ever adapt once their pet language sinks? (By using an algorithm repository to re-learn rote code?)
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.
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 (no C/C++/Java) and that bash scripts (usually) start with #!/bin/bash. Oh, please. Should I be impressed?
I demand the Cone of Silence!
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.
Right now it may be "pointless" for someone looking at it. It is certainly not "pointless" for contributing to it. Posting it to /. , technocrat, and similar means that it will get exposed to a lot of potential contributors.
Care about privacy? Read this!
Then add something.
Whoops, my fault. Being a hater is easier.
We are always reinventing the wheel, recreating frameworks and libraries from codesnippets. software has failed, if it succeeded then we could just "connect" together from a library of existing "components" / "objects" but no, we have too much fucking ego so we have to always "create" something, must create must create, how about no? Just "BUILD"!
/Rant
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 all Real Programmers know all languages! At least that's what Slashdot keeps telling me...
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!
Don't blame me, I didn't vote for either of them!
Only if you're allowed to write an interpreter or compiler for the more powerful language in the less powerful one.
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 " 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 especially this slide)
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.
It must have hit the front page.
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.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Oh, there we go, modded offtopic now, though criticism of capitalism usually gets you a troll label pretty quick. I guess the kids(mods) were just a bit slow yesterday.
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...