Bret writes: "People understand what they can see." which is true for some people but not true for all people. I've got one daughter who is very verbal, one very visual. They learn differently. This in a minor nit though, his exploration of the 'code' / 'example' model is good.
I particularly liked the commentary on something like:
ellipse(60, 50, 50, 100)
\ \ \ \
\ \ \ +- What does this mean?
\ \ +----- Or this,
\ +-------- Or this,
+----------- Or this?
(We'll see how that comes out in the formatting)TOPS-20 had a really interesting macro language for programming commands, it was the inspiration for a lot of self-describing command line interfaces like the ones made popular on Cisco gear. Basically you could write it like
DRAW ellipse AT X=60 Y=50 THAT IS 50 HIGH, 100 WIDE
But all of the 'fill text' was really unnecessary for the parser so if you wrote: ellipse 60 50 50 100
It would be just as intelligible. The point being that the training wheels got out of your way when ever you wanted them too, and if you were ever stuck you could type ? and it would tell you what your choices were.Not enough learning environments put this sort of dynamically sizing help into the system where it is needed such that it helps novices and doesn't slow down experts.