This is unironically a good idea. The main stumbling block isn't programming per se, it's breaking down a conceptual, informal idea of what you have to do in a formal language.
It matters very little whether it's linear programs, ASM instructions, LISP forms or C++ classes.
On the other hand, our University course started with half-baked explanation of what "public static void main" means (Java entry point) on the first day. It was horrible and no one understand anything until a few classes later we go to the meat of making/building stuff.
Yeah, I probably already commented on this some time ago, but I think Java is really, really bad as a teaching language. The language itself is just fine and much better than most people give it credit for, if you are a professional developer. As a teaching language is full of cerimony and it forces upon you an object model that you can't fully understand until much later. It's too much "in the weeds", if that makes sense.
Yea, AFAICT, Java has fallen off in schools in favor of Python, which is less opinionated about things like that. It has classes if you want them, lambdas if you want them.
It matters very little whether it's linear programs, ASM instructions, LISP forms or C++ classes.