However, from what I've read of work with younger learners, you'd be amazed at the level of complexity their code can reach. Just because you're young doesn't mean you can't write big complex programs. Of course, when they're older they'll look back on much of their work and say, "Oh it's so bad". But that's just what learning means.
As for "damaging" learners - banish the thought. Short of actively lying and gaslighting students, I've always found learners to be extremely robust. In fact, technology and context have relatively little impact on young students long-term compared to positive, excellent interactions with educators who know what they're doing. It's more important for students to have successful experiences that are fun and make them think, "Hey, this does stuff! Like, real stuff!" There are many nuances to that statement (gender is particularly fascinating), but I've found it's mostly true. Learning is all about constructing experiences on top of experiences, and your introductory experiences will always have degrees of artificiality and scaffolding. Understanding evolves with time, effort, and feedback.