Take even the smallest snippet:
while (Count <= 3) {
To you or me, this is pretty obvious. I've had kids ask me questions I'd never have thought of because I know this stuff already:
* What do the parentheses mean? * What is Count, is it a Javascript thing? * Is Count being set to 3? (<= looks like an arrow, not necessarily less than or equal to) * What is that squiggle? (meaning the '{') * Is this a program?
I'm with you, the Blockly stuff is hardly legible to me. But to kids learning this for the first time, I can tell you from first hand experience the color/shape/block aspect makes a huge difference.
A simple for-loop can be complicated.
First, they need to understand that a for-loop instantiates a variable (i). Then they need to understand that the next step is a limit: i < something. And then they need to understand that i++ means increment i every time that the below code is run.
Nevermind that it makes more sense to go: i = 0, i = I + 1, i < something, that's how it works.
Of course if they don't get that, they may not be cut out for programming. But its far from intuitive.