Short answer: when they want to (and "never" is a valid option). From this article1 by Wired (watch out for the video commercial overlay):
"By the early 2000s, Gibson was using game-design puzzles to teach rudimentary Java to 8- and 9-year-olds. His success with that age group made him wonder: How young is too young to begin coding?"
Teaching kids to program Java sounds like a specific kind of punishment, but I know these boot camps have moved onto greater things now (Ruby, NodeJS, whatever the latest thing is...). There are much greater life skills that a kid at this age could be learning, for example:
If my kids never want to program, it would not bother me. Gaining good social skills, confidence, and humility are much more important than being able to build a website.