I agree with your comments to some degree. My first programming course was in Java. I definitely did get a bit confused in the whole "public static void main" but at the same time, when I moved to python, it was trivial to learn, and I felt like I had picked up some important concepts along the way. You can get lost in the whole architecture thing, but it can help you understand design abstractions as well.