Liam (nearly 7) will be ready for a real programming language soon. He's already used Scratch and he is (we are) getting Lego Mindstorms for Christmas. His reading ability is already good enough.

Python seems popular for teaching kids though it doesn't feel entirely suitable to me. Mostly I don't want him to have to deal with the awful documentation that seems traditional for Python APIs. Too often it's a complete mystery what type of parameters you should give to a function and what you might get back. Any dynamically typed language can have this problem but dynamic typing seems simpler for a beginner.

I'm less experienced with Javascript, though familiar enough with it to be wary of some of its strangeness such as the odd scoping. But does Javascript have the same tradition of poor documentation? I'm not optimistic.
Shared publiclyView activity