There tend to be two types of newbies -- the humble ones, and the ones who have delusions of grandeur and immediate gratification.
For the former group, they can usually met the challenge and they're willing to take things one step at a time. They know what their skill level is, and realize they can't learn everything at once. They might fail, they might bite off more than they're ready for, but they'll learn from the experience regardless.
For the latter group, they have no grasp of the realities of game development and its probably best to knock them off their cloud as soon as possible. Often times, they only way to humble them is to utterly fail at that thing they think will be so easy. They need to attempt and fail at making a game before they're really ready to learn.
But you're right that everyone needs a grounding in programming before they can take on a game. And I don't just mean syntax or basic code engineering skills, I also mean problem-solving and math skills, and most importantly they need a baseline skill-set, domain knowledge and self-confidence to recognize and reject the poor advice they'll innevitably find (AKA -- they need a good bullshit detector). Real-time games have lots of moving parts -- parts that move all at once, no less -- and that's a lot different than turn-based games (most text games, many puzzle-style games), the complexity of orchestrating that is a lot to get your head around -- and that's to say nothing of the plumbing that lets any of it happen. Those skills necessary to wrangle this kind of complexity build up upon one another, I'm not aware of any way to skip right to the end.