Codingame has developed a platform to gamify coding education for developers, and provide a channel for employers to find prospective employees. From the website:
Practice & learn the fun way
Practice pure codeLearn new concepts by solving fun challenges in 25+ languages addressing all the hot programming topics.
Learn from the bestIn a matter of hours, discover new languages, algorithms or tricks in courses designed by top developers.
Become the expertOur approach has been designed to lead advanced developers to the next level.
There might be developers, team leaders, or employers in the Soylent community who would find it useful.
(Score: 2) by Marand on Saturday September 24 2016, @05:35AM
I looked at a couple of the puzzles and noticed one problem with the "hey cool, lots of languages here" approach the site takes. Each puzzle starts with a skeleton file to get you started; sets up namespaces, some variables, gives you an idea of where to go from there. The problem with that is it sets up the templates in a similar way in every language, which means you get pushed toward imperative solutions even in the available functional languages, because part of the code is set up imperative-style for you before you start.
That's not to say you can't solve them functionally, but I think that makes them less useful as a learning tool because it could subtly encourage bad habits. I was looking at some of the published Clojure solutions on the easier things and that seems to be exactly the case: lots of people using loop/recur as an imperative bludgeon, def being used for variable assignment in loops, stuff like that.
It might be fun for intermediate practice once you've gotten more comfortable with FP style elsewhere, though, since a functional approach requires stripping out all the skeleton code and rewriting ground-up to be functional.