|
For a first programming language I'm going to say that a child of almost any age should be learning . It's actually more a "programming medium" than a "programming language", in that it supports, to the fullest extent possible languageless programming, using programming - by - demonstration and employing the metaphor of (agents) carrying out behaviors on according to (I know, "scripts" would be more metaphor-consistent) designed by the user/programmer.
With Creator, I find that one can create pretty sophisticated worlds (it's like a simplified version of StarLogo/NetLogo), but one doesn't need to master -- or even deal with -- any kind of vocabulary or syntax of a language. As such, kids who can barely read can learn to program in it. And yet, since, characters can "own" variables and there can also be "global" variables that can be read from and written to by any character, quite powerful simulations can be designed. It's just that in designing them, the programmer can focus on the underlying behaviors, or algorithms, that s/he wishes to design, and doesn't need to be concerned with issues of vocabulary and syntax.
Yes, Java is on umpteen million machines, but if the kid is turned off to programming before his/her PacMan game ever gets working, that whole issue is moot, isn't it?
|