REPLs are great way to teach kids about coding. For me:
Applesoft BASIC (Apple ][e) -> Level I BASIC on TRS-80 -> FutureBASIC (Mac 68k)
Those are the BASICs I learned before moving on to Java, C#, then JavaScript.
FutureBASIC was really ahead of its time. You could drop into assembly, make direct system calls, didn't need line numbers, it supported proper functions, and it was event-based and somewhat asynchronous. For ~$300 it was a pretty big deal for Mac users at the time. I think MPW was still several thousand dollars and open source compilers were largely unavailable.
Dropping into assembly and making direct system calls were exactly the sort of things that were of BASIC's time. These are operations oriented downward toward the layer of Von Neumann architecture.
It's virtual machines and garbage collection that are the stuff of today...and of course yesterday as well. But the reason for their popularity is that a quest for 7ever more sophisticated abstractions is the impetus behind most programming languages. It's
39 -> JMP -> GOTO
that gets us multiple dispatch. None of which is to say that languages with REPL's or even only with REPL's [aka interpreters] aren't a great tool for learning...better than IDE's in my opinion...then again so are text editors, but that's a story for another day.
> Applesoft BASIC (Apple ][e) -> Level I BASIC on TRS-80 -> FutureBASIC (Mac 68k)
Are you me?
I loved FutureBASIC. It could actually access GWorlds and QuickDraw so I could write games that had fast double-buffered graphics. I eventually switched to C for performance, but I got a ton of mileage out of FutureBASIC (and PGPro!) before I did.
BBC Basic (from 1981) let you mix 6502 assembly in your code.
But you had to have line numbers and this caused me a bit of a headache when I got to learn Pascal. Things just seemed to be floating around. Which is funny, because Perl is now my weapon of choice.
Ha! I'm glad I'm not the only one that found the lack of line numbers disturbing (I also went from BASIC to Pascal). It just felt weird - mostly because I hadn't yet got my head around not using GOTOs. Once I got how functions worked though, there was no looking back.
Applesoft BASIC (Apple ][e) -> Level I BASIC on TRS-80 -> FutureBASIC (Mac 68k)
Those are the BASICs I learned before moving on to Java, C#, then JavaScript.
FutureBASIC was really ahead of its time. You could drop into assembly, make direct system calls, didn't need line numbers, it supported proper functions, and it was event-based and somewhat asynchronous. For ~$300 it was a pretty big deal for Mac users at the time. I think MPW was still several thousand dollars and open source compilers were largely unavailable.