i see your point. its no use beating a dead horse.
I've just participated in a lot of these and they always turn into a battle of the fanboys.
I also give long explanations rather than "oh yeah, well look at this video" responses, so it gets time consuming and tiresome to participate.
I'll play along but mostly in general terms and then I'm done. Most of this pretty much applies to machines across the board.
They all have BASIC and people did everything they could with it.
It's kinda pointless to say stuff like Atari BASIC is one of the slowest when there is an updated version that might be one of the fastest.
Now, you'd be better off using some sort of compiler even if it's BASIC, at which point the slowest BASIC might not matter.
And the compiler may add additional commands.
As a general rule, the later the BASIC, the more features it has... unless you are talking about the C64.
This isn't a simple comparison and just asking "BASIC" doesn't exactly give any qualifiers to go on.
There are three things I usually look at when comparing BASICs.
1. I almost always bring up the ELSE statement (IF THEN ELSE).
It makes code smaller and faster. It is also conspicuously missing from many BASICs.
I don't know about all BASICs, but each line of Microsoft BASIC requires storing the line number, the pointer to the next line, and a line terminator.
So every time you can use ELSE, you save at least 4 (5 - 1 for the ELSE token) bytes just to start with. That doesn't include the additional GOTOs and whatever else that may be required to duplicate the logic without ELSE. Plus it might save some overhead involved in starting extra lines.
Every line you eliminate from the code also means one less line number the interpreter has to check when searching for a line number for a GOTO or GOSUB.
On a small program it might not be noticeable, but if you have 500 lines of code... it adds up.
Consider this... for 500 lines of BASIC you have 500 lines x 5 bytes = 2500 bytes of RAM used just to store line numbers, pointers to the next line, and line terminators.
If only 50 of those lines use ELSE, you probably saved at least 200 bytes of RAM. If 100 use ELSE, it's at least 400 bytes.
An updated version of BASIC may cache recently accessed line numbers which eliminates the search through the program most of the time... so it may not matter much speed wise for the interpreter, and what if the updated BASIC also adds ELSE?
If you compile the code, it makes little if any difference other than making things simpler for the programmer.
Line numbers, next line pointers, line terminators, searching for line numbers, etc... all go away with a compiler.
2. The other BASIC command I bring up a lot is PRINT USING. If you want to write business software... it's awesome. But you can do the same thing by writing your own subroutine or with machine language at the expense of some RAM. If you aren't doing something that requires advanced number formatting? You aren't going to care. But it does make a difference for business software.
3. Extended BASIC features. More features in a BASIC are certainly nice, but do they make the machine more capable?
New looping constructs may be nice, but it doesn't do anything that can't be done in another BASIC.
Throw in a little machine language and any BASIC can support sprites, even if they might be completely software driven.
Do I like BASIC support for lines and sprites more than a PEEK POKE orgy? Definitely. Is it mandatory to create great software? No.
If a machine has some sort of Extended BASIC (some graphics and sound commands) that is usually sufficient to make your life easier.
Also keep in mind that Compute! magazine probably published hundreds of games that were just based on custom character sets and almost everything was PRINTed to the screen.
If you want to talk about games, I don't think there is an across the board winner.
Every machine had their share of crappy ports as well as their share of unique gems.
One machine may be more adept at sprites, where another may be better at wire frame graphics.
The Speccy may arguably have the least capable graphics hardware and it's color palette could be described as gaudy... but it may make it faster for some games and it has many unique, fun titles.
Would it be my first choice to play common arcade ports like Donkey Kong? No, The unique titles like Donkey Kong Reloaded are probably what you'd want one for.
Posting the best looking games will certainly show some of what a machine can do, but that probably doesn't reflect everything out there. People aren't going to go out of their way to post the ugly ones.
If you want to play Elite, which machine does it run fastest on? Is it even supported? A year from now that could change if someone takes up the cause and finishes an Atari version.
What if one of your favorite game turns out to be a text adventure?
Controls vary from one game to the next, so how do you rate that beyond does it have joystick ports? Are they digital or analog?
Even comparing analog vs digital joysticks is going to depend on the game and which joysticks you are using.
Doubleback on the Tandy CoCo wouldn't work as well without an analog joystick.
And flight sims are just better with analog joysticks, but arcade twitch games are better with digital joysticks.
A keyboard might be the best option for some games just due to the number of different controls.
As for sound... the original Spectrum doesn't have a sound chip and the later models do.
I've seen impressive stuff done with every one of those sound chips, and I've even seen really impressive stuff done with a beeper.
Sound chip wars are as bad as computer wars... it depends on who you ask.
Every chip is a little different and even the simplest one can sound pretty impressive when you start passing enough data to it.
Having what might arguably be the best sound chip doesn't mean that you won't be dying to turn off some really annoying music after the first minute.
It also doesn't guarantee you are going to hear anything special.
You could program music that is just as good from BASIC as some commercial titles (*cough* MSX Elite).
Edited by JamesD, Sat Apr 22, 2017 2:11 PM.