When most people talk about gamification, they're talking about extrinsic reward systems. Virtual numbers going up at a strategic rate to keep people as interested as possible. Levels, experience, badges, achievements, golden blooms, and high-pitched bleeps and bloops. This has certainly been applied to learning how to code in the past, but CodinGame actually turns the coding into a game.
Without getting too much into gamification as a concept, it's thought by some people I quite respect (and agree with) that our "traditional" interpretation takes the worst elements of gaming and slaps it onto other disciplines in the hopes of milking more out of humans via psychological manipulation. Structure the sales targets differently, and get more out of our salespeople? Easy to see why managers love it.
But even Codecademy relies on simple virtual numbers and badges as motivation. And the best way to actually make something fun and memorable isn't through extrinsic rewards, it's to give it intrinsic value. And that's what Codingame aims to do.
I'm not very far into it, but it's kind of apparent to me right from the beginning that this isn't something you should pick up to learn a language from scratch. It seems more like a "continuing education" tool, or just something to use to brush up on a language when you've got a few spare minutes.
The first level has a lot of assumed knowledge — I've loaded up the C# section and I'm expected to know all about classes and that sort of thing. I'm supposed to edit a loop so it outputs the closest enemy and its distance from the player sprite, and then it'll process to shoot it. There's a small amount of handholding, allowing you to cut & paste the answers into the right part of the window, but what's the fun in that?
Give it a go here, and let us know how you go!