Originally Posted by Dunny
Gonna have to jump in here and say that you've totally missed the point of BASIC. It was never intended to be used for production code, it was never intended to be as fast as a good compiler and it doesn't need to have any of the more powerful features that the more professional languages have.
It was intended to get the absolute beginner into programming, with an eye to moving up to more complex systems later when they reached proficiency.
Nail on head, but, my 2p worth, i don't think it's as suitable for this task as it was in its heyday.
Goto and Gosub &c might be easy to understand, but functions and composite types are such essential concepts these days that learning without them isn't really setting you up to progress to anything else. Back when more people might graduate to Asm it made sense, because asm has only jump/branch &c. More abstract, modern languages don't even have the equivalent of Goto, or at least strongly discourage it. You would educate kids into a dead end, and then wonder why they never progressed any further.
Besides, kids seem to be able to grasp the concept of functions pretty easily. They aren't a difficult concept at all, the only one who has to think very hard about them is the one who has to write the interpreter!