I started with Basic too when I was a kid, but if I were to teach my child programming now in 2020, I would choose Python as a first language. It has many graphic tools, and it looks even more beginner-friendly than Basic.
I started with Basic too when I was a kid, but if I were to teach my child programming now in 2020, I would choose Python as a first language. It has many graphic tools, and it looks even more beginner-friendly than Basic.
I think it's very easy for an existing programmer to forget that even the simplest high level concepts like looping and functions are not familiar to a child. These things are just not optional in python. If you want to make a loop, is has to be a high level one.
I would much rather teach a child "if" and "goto" for them to make their own control flow constructs. Later on after they realise that they are making these things manually all the time then they will learn to value of a function or a for loop and how it simplifies their life.
I think it really helps internalise these concepts.
Literally all the best programmers I know started with basic.
Getting that little triangular turtle to draw the shape of my house, simply by telling it how far to move and which way to turn, ended up being a life altering moment.
I don't know if it's possible to enthrall children with it these days. The graphics must seem absolutely bland and boring compared to many things children these days get to tinker with.
A couple years later I started messing around with QBasic & that really pulled me in even tho it took me a long while to learn even the basics.
Computer classes in school (until high school at least) seemed to have been generally be taught by teachers slightly less computer-literate than more advanced pupils in their class.
I quickly typed in code to draw a recursive tree and ran it. His reaction was "What?!?! You mean Logo is a programming language like the Pascal I learned at the university?"
Very sad.
The real shame is that there's not a good Beginner's Lisp yet, but when lacking one of those, BASIC is pretty easy to learn, and more importantly is pretty easy to teach.