Hear me out here; Apple's Swift Playgrounds on an iPad.
I'm involved in an extracurricular thing in Scotland focused on giving kids an environment they can figure out computers. We've seen a lot of different approaches to the problem of "how can we get kids to code", and Swift Playgrounds is consistently where we see youngfolk making the most progress.
It gives you a nice, guided framework to get the very basics of programming, and slowly gives you more and more "rope" to play with, ultimately leading you to move your projects to Xcode on a Mac.
Swift may not be your favourite language, and Apple are totally doing this with a view to people becoming iOS/MacOS developers (not necessarily a bad thing), but Swift Playgrounds is definitely best-in-class when it comes to having kids teach themselves how to program. The integration with real-life robots and drones is really impressive, too; the kids absolutely love being able to write real code that makes a real robot do things, it's exceptionally motivational.