Programming is difficult to enter
For beginners, programming introduces several barriers before they ever get to write something that works.
Unfamiliar syntax
Unfamiliar keywords, indentation and syntax rules get in the way before the logic even starts.
Abstract logic
Variables, loops and conditionals can be difficult to understand without a concrete picture of what they do.
Invisible execution
Beginners often cannot see what actually happens inside their program while it runs.
Hard to debug
Errors can be difficult to locate and understand without visibility into program state.
A rough transition
Visual programming is easy to start with — but moving into real programming languages can be a challenge.