One of the more valuable things I've found when teaching is to always establish "the path forward". I wish that the CS Ed community had more established paths that I could share out. It's easy to point people towards CodeCademy, for instance, but I don't always have a glib answer after that.
Agreed. When I started learning to program around 12, I was very motivated by what I wanted to make, not follow some bland tutorial ala CodeCademy.
From my experiences in university so far (Comp Sci), this experience seems to be pretty rare. If I ever have kids, I hope to be able to guide them in a similar way I learned as a kid. If they want to mod Minecraft, sure, let's start with that and not a boring tutorial for TodoApp#5034.
What you say about Minecraft rings true. I've been trying to get my 12 year old brother into programming for a while, never really succeeded. Today I setup Forge and taught him how to make an item for Minecraft. That got him excited about programming (or at least what one can do with it) more than anything else.
It's a bit less polished, but far, far better when it comes to hacking. I found it significantly easier to create a mod for Minetest than to use a mod in Minecraft. Once my kids grasped the idea that they could add whatever items and behavior they could dream up, they really took a shine to it. The Lua coding used is very approachable.
That does actually seem like it might be better, I admit Forge and Java would probably seem quite daunting to someone new. I'll see what he thinks!
The only issue though, is that I think a lot of his motivation stems from potentially sharing what he has made - pretty much everyone his age has a copy of Minecraft.
There is a bit of a network problem with it; sure.
One advantage that may help is not needing a license; if you have siblings that have to share a Minecraft account they can play Minetest on as many machines as they have without bugging their parents to pay for a new account. Plus it can run on much older machines.
But yeah, it can be a tough sell just because people don't want to bother.