Firstly let me say one thing, I think scratch is a good little tool to get people into programming, however I think it is overused because when I did scratch/programming in I.T we only did Scratch, we didn’t move onto any programming languages after everyone was comfortable , we just did Scratch, nothing else.
So I think that my school and schools all over the U.K are misusing scratch as scratch wasn’t designed to replace traditional programming as you can’t export a normal .exe file, it was just designed to get people into programming. There were quite a few people in my class who really did enjoy scratch but they never moved onto an actual programming language like Python or C, probably because they had no idea how to start it or that it isn’t too difficult to learn. I’m sure that if they did start teaching programming right after scratch then quite a few people would of found it difficult, but school is meant to be difficult, it’s meant to challenge you to let you learn new things, not just let you sit on your arse all day and learn nothing new.
So while I think scratch is a useful tool to get people interested in programming in schools, teachers must take the extra step and actually teach them how to program, as I think when the people in this generation are working there will be a huge lack of programmers, which lots of I’m sure quite a few people would be surprised at, as many people call this generation the “Technology native generation” but I think that label is false, sure if you give an iPad to most kids they’ll be playing games in minutes but they don’t actually understand how those games work and they have no interest in looking into it, so I think people should stop calling this generation “technology native” as that label is wrong, the people who grew up with the first computers that run DOS are “Technology native” as they understand how computers work, not this generation.