I think we look for something that makes it easier for large numbers of people to become programmers. And I guess that's OK, for some definition of "programmer". Teaching people to be professionals still takes a degree, or basically an apprenticeship, or both, and I don't see that changing. (You don't see a new approach to teaching chemical engineering dramatically changing things.)
But perhaps I have misjudged the thinking behind your question...
There are a huge number of ed-tech apps and products being developed with the intention of "teaching X to code," but they mostly seem to fit into a taxonomy of approaches that was already in place 30 years ago. Approaches such as interfaces where syntax errors are impossible (Scratch), toy worlds that present puzzles to solve (Karel the Robot), or full-power programming languages that are fundamentally oriented toward teaching by providing graphical feedback on program execution state (Swift).
I'm curious about others' sense of what's really new, but am not very interested in saying novelty is good or bad as compared to working on a previously identified approach. I thought Bret Victor's DBX talk (http://worrydream.com/dbx/) was an interesting exploration of this space.
Classically apprentices left school at 15 or so did 4 years learning how to use lathes ect before going on to the more academic day release.
In the IT industry there is no real analog to spending your first year "filing" and making tea.
Since then, even more have cropped up: Code Combat: https://codecombat.com/ Empire of Code: http://www.checkio.org/blog/empire-code-space-strategy-game-... Code Kingdoms: http://codekingdoms.com/ Taken Charge: https://takenchargegame.com/ ComputerCraftEdu (Minecraft Mod) : http://computercraftedu.com/
No doubt, this has only contributed to the divide between software engineers and information security engineers.
For developers, something like laracasts (or other screencasts) is working well it seems. Not very revolutionary though.
I wrote a blog post on this topic with more details on a specific process: http://www.redgreencode.com/deliberate-practice-for-software...
Khan Academy is a reasonable way to start learning programming, but like other learning sites (Codecademy and others) they focus on learning things the first time, and not as much on getting better. CodingBat (http://codingbat.com/) takes a more drill-oriented approach, which is more effective for learning the basics well. But there's not a lot of content there, in comparison with a puzzle site like SPOJ (http://www.spoj.com/).