For someone who already knows how to program, Python seems to be very easy to pick up. It's still a tremendously more complex language than BASIC.<p>I help teach an after-school programming class for middle schoolers. Last year, we tried using Python. While some students got the hang of it, many seemed confused and demotivated.<p>This year, I wrote a simple TinyBASIC REPL from scratch[1], aiming to produce the simplest subset of the language that made it possible to do interesting things and illustrate concepts like looping, branching, variables, etc. It was a big hit with the kids, and the whole class has been extremely engaged. As a next step, I've built a Logo[2] implementation so that we can move into writing modular, reusable procedures and play with graphics.<p>Learning to program is almost entirely orthogonal to learning a language, and I think that starting with very small "toy" languages is a good way to approach teaching core concepts without getting lost in the quirks and complex features of popular "real" languages. BASIC is small, Python will never be.<p><pre><code> [1]https://github.com/JohnEarnest/Mako/tree/master/demos/Masica
[2]https://github.com/JohnEarnest/Mako/tree/master/demos/Loko</code></pre>