Naïvely, I would assume that something like Forth or Occam would be much better for this, and both are also age-appropriate.
Naïvely, I would assume that something like Forth or Occam would be much better for this, and both are also age-appropriate.
Not even close.
BASIC was a very powerful language. Not "powerful" in the way we think of languages today with OOP and all that, but powerful in its flexibility. Each machine had its own version of BASIC that made the most of each machine's unique capabilities.
Games were probably the minority of BASIC programs. BASIC was a serious language for serious business programs, especially in sales and accounting.
If your needs were scientific, you went with FORTRAN. If you were needs were hardcore business, you went with COBOL. If your needs were academic, there was Lisp and a bunch of others. But BASIC was the common language that almost every computer had available.
Huge companies managed inventory with BASIC. Transit timetables were calculated in BASIC. Machine control, non-mainframe astronomy, specialized journalism applications, record-keeping, and dozens of other needs were handled well by programs written in BASIC.
The first program I ever sold commercially was essentially a single-user Salesforce for the Commodore 64 tailored for limousine companies. I wrote it in BASIC.
If you think BASIC was only used for games, that's a reflection of your limited experience, not of the limitations of BASIC.
Seriously, there was no support for what made the C64 the C64 in the C64 BASIC! You wanted grpahics? PEEK and POKE. Sound? PEEK and POKE.
That said, I didn't have any trouble doing graphics on the 64 with PEEKS and POKES that was good enough to get one of my screens on the cover of Run Magazine. It wasn't easy, but once you got your brain around it, I remember it being pretty fun.
Sound, however... no argument there. But that could be because I've never been musical in any way whatsoever. Never understood notes and scales and such.
You might not know that is where Microsoft made its initial $
That's the book I learned to program from, a compilation of games in BASIC published in 1973. I don't know the truth of the GP's claim but reportedly that book was very influential so there might be something to it.
(I didn't downvote you, and I have upvoted your post.)
I learned c on my c64, in fact. a skill I still use 32 years later.
you can download the manual courtesy of archive.org: https://archive.org/details/Super-C_1986_Abacus
It didn't support then entire K&R standard though. No function pointers.
mine came from a small software store that was a bed store the last time I drove by.
BASIC had a couple huge advantages in that it ran in minimal memory and had a reasonable infix syntax. The infix syntax was a particular advantage in educational scenarios where it matched (roughly) with the way math was taught. (Which was never in pre or postfix notation.)
The cross-platform nature of BASIC was also useful. If you knew one microcomputer, it made it more likely that you could sit down at another and get it to do useful things.
It's easy to second-guess, but even in hindsight I think BASIC was a reasonable choice for the time, goals, and hardware limitations.
Also, Occam?! That is a concurrent programming language... I'm not sure it would have done too well on the machines of the day.