- He still spends quite a bit of time finding keys on the keyboard, so that'd be a major distraction and would break flow.
- Memorizing keywords as text and reproducing them is a bit more of an abstract concept than being able to remember the color, location, shape, and appearance of text on the blocks in Scratch. For us, we can imaging keywords and expressions as these conceptual units, sort of like blocks. But we can also reproduce them as those units---we don't mentally deconstruct them into individual characters like my son would have to as he struggles to type them.
- Similarly, with typing, you start with a blank canvas and nothing but a daunting array of tools (keys on the keyboard, which we think of as a single tool) that alone mean nothing until placed into a very specific syntax. With Scratch, you start with a set of identifiable blocks that concretely mean something.
- Scratch aids him in other ways, like providing character and sound selections via a dropdown. You can get this type of things with certain IDEs, but mileage will vary.
Essentially what I'm saying is that I feel like my son using a keyboard at this point instead of blocks is like taking each of those blocks and smashing them with a hammer, and telling him to first assemble the blocks before determining how to use them to assemble the program.
I do wonder when I should try introducing him to text-based languages. He's also learned how to use Minetest in the past week, which is scriptable in Lua, so I wonder if that would be an interesting transition. I thought of maybe introducing him to lisp because of how naturally the syntax of the language translates to/from blocks, but I also don't want to disadvantage him practically when most of the world uses C- or Python-like syntax.
I'm totally new to this. :) But it's exciting!