Page 1 of 1

Suggestion: BBC BASIC - an 80s structured BASIC which is still maintained

Posted: Tue Oct 24, 2023 4:31 pm
by eekee
I saw in the recent video, My Dream Computer is Finally on Sale! that a better BASIC is wanted; one without line numbers and supporting indentation. It's also clear a start has been made on developing one, so I apologize if I'm treading on any toes here, but I thought that if the work hasn't gone very far, you might perhaps gain something by using BBC BASIC instead. It's a structured language and the editor even in the DOS version from 1986 indents. Modern versions make line numbers optional and can take plain text. Perhaps the most interesting part is that it's still maintained by an early developer, Richard Russell. He comes across as much an enthusiast as a professional, maintaining his software and finding jobs for it here and there. I can't be sure if he'd be interested in an X16 port, but I figure it couldn't hurt to ask. I don't want to be the one asking, in part because I'm suffering from severe fatigue but also, not least because I don't know how the X16's own devs efforts are going.

Here's the home page for BBC BASIC:
https://www.bbcbasic.co.uk/bbcbasic.html

Here's the page for BBC BASIC for Windows, which I'm linking largely because I'm sure everyone reading this will grin at many of the user's comments. For instance, "I haven't had such fun with a piece of software in ages." ;) And this same version was used for some serious professional applications. Also, there's contact info at the bottom of the page.
https://www.bbcbasic.co.uk/bbcwin/bbcwin.html

Incidentally, The Commander X16 often reminds me of the BBC Master which was perhaps the most complex and powerful 8-bit I knew of in the 80s. :)

There's also Brandy BASIC which is an open-source implementation. I don't know anything about it.

Re: Suggestion: BBC BASIC - an 80s structured BASIC which is still maintained

Posted: Tue Oct 24, 2023 5:08 pm
by Microdriver
Please take a look at the keyboard of the X16. Do you see all those PETSCII graphic characters on the keys? They're there, because the X16 is designed in the spirit of the Commodore home computers, especially the C64. And that's why it has a Commodore style BASIC, that's even 100% compatible to that of the C64 and VIC-20.
That's why I believe the project will hardly ever move in the direction of BBC BASIC.
There are other projects out there, which are more in favour of it. There's a port for the Spectrum Next for example.

But overall, the problems of BASIC are
- the line numbers,
- the tendency to make the programmer write Spaghetti-code with GOTO,
- hardly support for functions and local variables (if any),
- and of course the low speed.
I doubt, that any other BASIC dialect does better regarding these problems than the one that's already in the X16.
On a PC, I'm not using any BASIC at all, although there are a few interpreters for it, too: I'm using Python, which has in the meantime solved all the problems mentioned above. And added even more features like rock-solid object oriented programming.

Re: Suggestion: BBC BASIC - an 80s structured BASIC which is still maintained

Posted: Tue Oct 24, 2023 8:30 pm
by TomXP411
There have been several people proposing BBC BASIC as an alternative.

I am one of them.

However, the problem with BBC BASIC is that there is no free or open source implementation for the 6502, at present. And even the version that is available for 6502 is not the structured BASIC you see with the OpenGL and Window ports.

R. T. Russell did a good job porting BBCB to the Z80 and later to Windows, but he greatly enhanced the Windows version along the way, so code written for the Windows version really doesn't run on the 8-bit versions.

Worse, no one knows precisely who owns the rights to the 6502 version today, so there's no way to obtain permission to use it on the X16.

So someone would need to do a clean-room implementation. And if someone did that, it's more likely they would implement the Microsoft syntax, rather than Russell's unique syntax for so many of the things.

So short version.. BBC BASIC is not an option. It's a very nice BASIC and superior to MS BASIC 2 in a lot of ways. It's just not viable for a commercial product.