There have been many simple languages for kids, but Scratch appears to be the one that works.
Speaking to my daughter's teacher, it's not just the academically-bright kids getting into Scratch - the academically average and academically behind ones do too. It appears to satisfy requirement #1: get the kid interested.
The important thing learning to program does is teach kids that the code that runs their world is a humanly tractable thing: that literally everything that any computer does is a more complicated version of a dancing ballerina animation.
They don't need to become coders to benefit from having an idea of how the machinery their civilisation runs on works, and not to just think of it as unknowable wizard magic.