3 ms·
Lack of human factors knowledge in people who write software tools is keeping kids from coding. And adults, for that matter. There's a huge amount of incidental
by dTal 9y ago
Lack of human factors knowledge in people who write software tools is keeping kids from coding. And adults, for that matter. There's a huge amount of incidental complexity and fragility that we just tolerate.
I mean, how does move(.up) look like plain English? What's wrong with "move up"? Are we really so blind as to not realise that any normal person looking at that is going to get the strong impression they don't know what the hell is going on? Hell, I don't know what's going on. What's with the period? What happens if I don't type it? Fragile and incidentally complex.
Now to be fair there are intrinsic differences between typing in a blank text box and dragging and dropping icons. You can type anything in a text box, while icons present a limited selection. This hurts discoverability, which is why the author saw better results when they gradually swapped out the icons for text. Dragging and dropping is an atomic transaction which can be cancelled with good feedback if the user attempts something invalid; this is not quite so easy with typing, because valid code must be reached through invalid states on a letter-by-letter basis.
But proper coding in a Turing-complete sense (which none of the games seem to offer) involves defining your own symbols and wrestling with abstract notions like iteration that lend themselves increasingly badly to representation in sprite form. Scratch is a good example of a system that attempts to use the best of both worlds - its building blocks are text-based, but selectable from a limited number, atomically placed, and statically checked to practically preclude syntax errors. Text itself isn't intrinsically bad.
Lastly - it's a shame the industry moved on from BASIC. Programming was never more accessible than when the average personal computer booted to a REPL of a standardized, easy-to-use language.