Since we're all offering Scratch-asides, I'll note Hopscotch: https://www.gethopscotch.com/ – it's very similar to scratch, but I found it far easier to use. With Scratch I often feel like programming is a task of fighting with tile management. I also like the stronger emphasis on events in Hopscotch.
The big downside is that it's only really usable on an iPad.
The big downside is that it's only really usable on an iPad.