4 ms·
Algorithmatic.com: a repository and dev. env. for algorithms
- gritzko 17y agoHeh, the search returned nothing for "quick sort" and "hoare".
- dzlobin 17y agoThis is a great project, looking forward to it bustling with code.
- tl 17y ago"To view this page you need Microsoft Silverlight 3 plug-in." I don't think that was a good idea.
- l0nwlf 17y agoAgreed !!....it's really irritating aspect of theirs.
- jacquesm 17y agoIf you design stuff for programmers it should be as platform independent as you could possibly make it. 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'.
- plaes 17y agoWeird thing is that I already have Moonlight (Mono-powered Silverlight) installed, but it still isn't working :S
- mogston 17y agoI'm not sure why one would choose to develop with Silverlight over Flash - straight away you've cut out the majority of your user base.
- plinkplonk 17y ago"Algorithmatic, by itself, is a small and simple dynamically typed Object Oriented programming language that serves as a common denominator among popular programming languages. This means that Algorithmatic doesn’t rely on any exclusive/new feature – this guarantees the ability to port descent implementations to any other language." 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.
- derefr 17y agoFrom the perspective of implementing an individual algorithm, it's easier to just google an implementation. But pretend you're writing the standard library internals for a new language['s reference implementation]—where do you start? How do you compare algorithmic approaches, each written a slightly different way, to know which one you want to use? For that matter, how do you know which algorithms you "need" to put into your language (given that if you don't include it, your users will probably just write it themselves instead of complaining to you)? 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.)
- asjo 17y ago'Type algorithm name here...' "Simplex" → 'your search term didn't match anything' They forgot the "beta"-badge?
- leif 17y agoright, because everyone needs a quick simplex algorithm under their pillow
- asjo 17y agoI think it would be fitting to have in a repository of algorithms; you don't? Maybe I didn't understand the purpose of the website from its frontpage. (Which is a failure, either mine or the frontpages.)
- roundsquare 17y agoThe implementaions here don't look that great. 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.
- thomaspaine 17y agoI see a lot of naysayers here, but I think this is a good idea. I was actually considering doing this myself a while ago. One of the best things about Matlab is the community of plugins and algorithms, and having a somewhat central repository that makes them easy to find. 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.
- pssdbt 17y agoUsually I just close the window when asked to upgrade Silverlight, this seems like a good enough reason to upgrade (as much as I dislike it). Really though, why is it needed here? Not trying to hate, just curious...
- j_baker 17y agoI left the site as soon as I typed in quicksort and nothing came up.
- gwern 17y agoAnyone want to compare this to http://rosettacode.org/ http://rosettacode.org/ ?
- ismarc 17y agoWhen I first opened the page, and saw the front page, I went "Man, this is gonna be great. An in-browser IDE (probably using some site specific syntax) to try out the algorithms. Given a common run-time and an assortment of different types of datasets, you can try out different methods of optimizations right there in the browser without having to do the tedious parts." Then I actually clicked on some links. Then I saw what it was really doing. Then I was sad because I made assumptions. 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.
- FrankBlack 17y agoDoh! I thought it was the web page for a former U.S. Vice-President's new band. :(