I don't think that was a good idea.
I'm having a hard time with sites that use flash (scribd) or the one mentioned above for stuff that should be done with server side code or dhtml.
I realize that in the case of scribd that might be a bit much to ask, but it looks as though they gave up on page '1'.
I don't get it. How is a bunch of common algorithms implemented in a custom site-specific language particularly helpful?
Pseudo code for algorithms is widespread, as are working algorithms in almost every language you can think of. How is porting from this "algorithmatic" langauge any better than porting from (say) a Java implementation?
from the FAQ, "Implementations of all type of algorithms do exist wildly on the internet. However, these implementations differ in quality as much as they differ in syntax (or programming language.) "
So how does adding a new syntax (and behind the syntax, an untested interpreter/compiler, runtime etc) and inviting random people to submit algorithms in this new language solve this problem?
I must be missing something.
I think the final goal, actually, would be to have an easy grammar spec that allows automated transformation of this particular code into a given language. That way, all languages, no matter the platform, can have the same core set of algorithm code. This would become the "language-neutral" encoding of the algorithms, open to inspection, and the other libraries produced from it would just be considered object code, not to be modified themselves. Whenever a flaw was found in any language's version of the library, the algorithm or the translating parser could be updated, and the flaw thus fixed in every version of the library. Whenever you came to a new language, you could rightfully expect the same core to be available. Whenever you started writing a new language, you'd get the core "for free" (in est, the price of writing a translator parser spec.)
(Books by) Knuth? Cormen ?
Seriously though, if someone implementing "standard libraries" for a new programming language has to lookup implementations in some site-specific untested language, it doesn't bode well for the new language's future.
People who write such high impact libraries should be well versed in algorithmics, be able to (1) analyse and port pseudocode, (2)read and comprehend published papers (with mathematical proofs etc), (3) read comprehend and port existing implementations etc.
"I think the final goal, actually, would be to have an easy grammar spec that allows automated transformation of this particular code into a given language. That way, all languages, no matter the platform, can have the same core set of algorithm code."
Why not write an automated translator for(say) Java or C then? vs throwing yet another language into the mix.
Besides, this sounds too idealistic to me. But I guess seeing is believing. I'll believe it when I see a new language's implementor takes this path for a standard library.
I can't think of anyone good enough to write a robust, performant language interpreter/compiler and runtime balking at implementing algorithms and needing automated translation from a website.
They forgot the "beta"-badge?
Just take a look at the Naive Prime Generator. I know they call it Naive, but its very naive. To the point where if its checking if i is prime, it tries to see if number greater than i evenly divide it!
There are other optimizations they could toss in there (e.g. since they keep an array of prime numbers they need only divide by those) but you could try to argue that these make the code harder to understand... so for those I'm willing to give a pass.
That being said, requiring Silverlight is a deal breaker for me. I'd also like to see something more like github, where it's easy to fork and make improvements to other people's code.
Seriously though, I'd completely redesign the site. Needing Silverlight to view the algorithm is just insanity. Add in a large amount of varied datasets, and make the goal of it an easy way to experiment with and share algorithms/optimizations (ie, you have 20 different variants of quick sort algorithms. A search for quick sort returns all 20 with graphs indicating the performance of each on each dataset).
As it stands, Wikipedia is a better reference for algorithms, using well-defined and concise pseudo-code to demonstrate the algorithm.