BBC BASIC Is Back In a Big Way (hackaday.com) 134
An anonymous reader quotes a report from Hackaday: The BBC has a long history of teaching the world about computers. The broadcaster's name was proudly displayed on the BBC Micro, and BBC Basic was the programming language developed especially for that computer. Now, BBC Basic is back and running on a whole mess of modern platforms. BBC Basic for SDL 2.0 will run on Windows, MacOS, x86 Linux, and even Raspberry Pi OS, Android, and iOS. Desktop versions of the programming environment feature a BASIC editor that has syntax coloring for ease of use, along with luxury features like search and replace that weren't always available at the dawn of the microcomputer era. Meanwhile, the smartphone versions feature a simplified interface designed to work better in a touchscreen environment.
It's weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory, and work with far more advanced graphical assets than would ever have been possible on the original BBC Micro. If you honed your programming skills on that old metal, you might be impressed with what they can achieve with BBC Basic in a new, more powerful context.
It's weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory, and work with far more advanced graphical assets than would ever have been possible on the original BBC Micro. If you honed your programming skills on that old metal, you might be impressed with what they can achieve with BBC Basic in a new, more powerful context.
goto (Score:2)
10 GOTO 10
Re: (Score:3)
Real Tough Programmers use:
10 GOSUB 10
Re: (Score:2)
Stack overflow in 5 .. 4 .. 3 .. 2 ..
Re: (Score:2)
In this case, goto is faster because it does not track a return. Efficiency FTW.
Re: (Score:2)
It's a joke, people.
Re: (Score:3)
It's a joke, people.
It's OK, my dude. Us programmers are all somewhere on the spectrum. We love over-explaining jokes to each other. It's entertaining for us. Let us have our fun.
Re: (Score:3)
Real Tough Programmers use:
10 GOSUB 10
In BBC basic you had named procedures so you didn't need to gosub a line number.
http://www.riscos.com/support/... [riscos.com]
Re: (Score:2)
Real tough BBC BASIC programmers use procedure calls. :)
Re: (Score:2)
Professional programmers use COMAL.
10 LOOP
20 ENDLOOP
6502 Assembly (Score:2)
Real Tough Programmers use:
Not in BBC Basic - they'd use the built-in 6502 assembler but I doubt they included that in this version.
Re: (Score:3)
Not sure if that's possible in this version of BBC Basic. Line numbers were ditched a long time ago, and modern structured programming constructs have been there for some decades now.
With broad cross-platform support including tablets and even phones, this could reignite interest in programming neat little tools again. VB6 was much panned, but a lot of people cranked out little useful apps with it. This could do have the same effect. Modern, structured BASIC is quite accessible.
Re:goto (Score:4, Funny)
2023 PRINT "Oops, showing my age again."
Re: (Score:2)
We only accept comparrision using rust
Re: (Score:2)
10 PRINT "Dixons is shit"
20 GOTO 10
(extra points for using double-height letters, or doing it without the newline)
For our international readers, Dixons was a tech shop in the UK in the 80s. They were mainly about TVs and radios, but had computers too - rarely did the staff really know much about them though, so it became a bit of a thing to write a cheesy program as above and run it there to see how long it took for anyone to do something about it. Sort of tech graffiti, I guess. Nowadays misternicehands.co
Re: (Score:2)
Dixons WAS shit. Kudos to you for spreading the word :)
We didn't have BBC BASIC in the states (Score:5, Informative)
We had GWBASIC and QuickBasic and they're still going strong too. https://qb64phoenix.com/forum/... [qb64phoenix.com] is a modern version of QuickBasic called QB64 that GWBASIC and QuickBasic (and QBASIC) code will run just fine in. Here is a tutorial for it: https://www.qb64tutorial.com/h... [qb64tutorial.com]
Re: (Score:2)
Re: (Score:3)
Yes, but you can use GOSUB and GOTO if you prefer (or want to run legacy software that contains them).
Re: (Score:2)
This lesson the tutorial https://www.qb64tutorial.com/l... [qb64tutorial.com] shows how to use functions and subroutines.
Re: (Score:2)
Re: (Score:2)
QuickBASIC [...] did not require every line to have a number as GWBASIC did.
Perhaps, but writing BASIC without line numbers is like eating an egg without salt...
Re: (Score:2)
So only salty programmers use line numbers in BASIC?
Re: (Score:3)
So only salty programmers use line numbers in BASIC?
Salt of the earth programmers; we use line numbers like our grandfathers and their grandfathers before him!
Re: (Score:2)
Odd thing to say unless your a retro-computing enthusiast cranking out C64 software.
I don't think anyone uses BASIC line numbers since the mid 80s. I programmed in BASIC for years with TurboBASIC and QuickBASIC, and never once used line numbers with either. It's basically Pascal with a nicer syntax (pun intended). Modern FreeBASIC is basically C with a nicer syntax.
Re: (Score:2)
I did quit a bit of development in QuickBASIC 4.5, including using extended memory, C libraries and the like. It was a very powerful language and a full compiler.
Re: (Score:2)
Definitely. Gained that functionality back in the early 80s.
Re: (Score:3)
And the best thing every written in QBASIC was the Gorillas game, where you threw exploding bananas at each other. You can still play it here: https://classicreload.com/qbas... [classicreload.com]
Re: (Score:2)
Since we're on the BBC here, I always thought gorillas.bas was less good than tanks:
http://bbcmicro.co.uk/jsbeeb/p... [bbcmicro.co.uk]
Re: (Score:2)
I remember a Pac-Man clone written in pure QuickBasic that blew my mind. It looked identical to the arcade version except that only one half of the screen could be seen at a time. The screen would scroll up and down as Pac-Man traveled around the maze. It was quite impressive.
Re: (Score:2)
I just did a little digging and I believe it was hackman3 by James Robert Osborne that can be downloaded here: https://qb45.org/files.php?cat... [qb45.org]
Re: (Score:2)
QB64 is a nice project, but it doesn't have an interpreter. It transpiles BASIC to C++ for some reason, which makes it a little annoying to use compared to a dosbox setup with QB4.5.
There's also PC-Basic [github.io], a GW-BASIC clone that also supports BASICA, PCjr Cartridge BASIC, and Tandy 1000 BASIC. It is interactive, even supporting the handy fake full screen editing features. I've used it for remediation and to introduce programming concepts. It seems to be a lot easier than Python and Scratch for beginners.
Re: (Score:2)
The problem with running it on DOS is that you run out of memory fairly quickly. Not just memory when the program is running, but you can run out of memory for the editor too.
Re: (Score:2)
That's okay. If you're playing with it for fun, that's all part of the challenge. If you're using it as a student, you're not likely to run into those limits anyway. If you do, then it becomes an excellent teaching opportunity. Kids these days act like memory is infinite and allocations and deallocations are completely free. Then they wonder why their program runs like it's on a speak & spell.
Does it pass the "under a minute" test? (Score:5, Interesting)
How much messing about do you have to do configuring the environment, going through wizards etc before you can write something?
Let's see:
Download Windows version zip archive, unzip
Doubleclick first option (Andy Parkes' BBCEdit)
10 PRINT"ac22 is cool";:GOTO 10
Press the green play button
Yes, under a minute to have my screen filled with "ac22 is cool" messages. Not sure how many other programming languages would have got me started that quickly.
Back in the day, computers like the BBC Micro booted straight into BASIC, so you could have that silly little program running in a matter of seconds. Kids could bang out a rudimentary game in 5 minutes. Then make some improvements, all without copypasted code or the internet. Maybe the user manual if they were lucky :) A lot of modern-day coders started here.
Re: (Score:3, Funny)
Snap, but for 's/ac22/Darren/'. ("Darren" was apparently the name of the kid who'd been on the WH Smith Brent Cross demo BBC B just before I was. Though I never specifically saw him, and cannot thereby judge the accuracy of his churning assertion, "Darren is cool" will remain my own little Hello World forever, on account of said presumably-Darren allowed me to jump the day-one queue on account of I somehow already knew about the BREAK key. It was Chris Serle I had to thank for that, most like, only he can s
Re: (Score:2)
Dawg, the vast majority of the text in your post is inside parentheses. I'm fairly certain that's not how parentheticals are supposed to work in English.
Re: (Score:2)
I feel bad about having mentioned Karen Serle at all. That guy doesn't deserve to be e'en so much as a footnote in history, inline or otherwise.
It's also most regrettable that the CEEFAX Simulator broke about five minutes after I posted that, and is still failing to load its detail pages. The resurgence of 3-bit paletted 40x25 teletext is on hold. WWW can rest easy. For now.
Re: (Score:2)
The CEEFAX simulator sounds cool - much more so than Darren or Chris Serle, despite the important influence that each of them had during your early life :) Good luck with your Teletext revolution.
Re: (Score:2)
I think the fact that most 8 bit machines required you to enter some variation of LOAD to start your game was the little nudge that many kids needed. If you could LOAD, what else could you do?
Re: (Score:2)
> Kids could bang out a rudimentary game in 5 minutes.
Now as adults we sit down at the BBC micro in The National Museum of Computer History and do exactly the same!
You know what's weird? (Score:2)
MS-Basic was the first thing I did anything like 'programming' in. Prior to that I'd entered machine code directly, but by rote and didn't know what I was doing.
My recollections of Basic are mostly learning how to change the text colour and juggle TSRs with himem.sys and emm386.exe to ensure the optimal loading order. What's left of that today is that I'm fairly deft with Windows shell scripting to the point I still haven't switched over entirely to PowerShell. ...But it's Logo (on my C=64) where I have f
Re: (Score:2)
I'm not surprised that yourself doesn know the versions of BASIC that came with DOS...
running on a whole mess of modern platforms (Score:2)
Recently and now in his fifties, my son acquired another TI-99/4A in good working condition. He plans to have fun with it. But can he run BBC BASIC on it? (Rhetorical question, of course.)
Re:running on a whole mess of modern platforms (Score:4, Interesting)
The TI-99/4A had it's own version of BASIC that was quite different from the Microsoft flavors at the time. As a kid I had a TRS80 Model I, TRS80 Model III and Radios Shack Color Computer (Known as the Dragon Tano in the UK). My friend had a TI-99/4A and I learned it's flavor of BASIC which was very powerful. It even contained functions for creating and moving sprites. The TI-99/4A was a true 16bit computer, not too many people knew that at the time. Over the course of a weekend we made a crude version of BattleZone on it. It was quite an impressive little computer.
Re: (Score:2)
It even contained functions for creating and moving sprites.
A lot of these more advanced features (including sprites, access to expanded memory, subprograms, and more) required the the TI Extended BASIC Command Module (cartridge). The built-in TI BASIC did not support these features.
Re: (Score:2)
I don't remember but that makes sense. Even my Color Computer had an available upgrade to Extended Color Basic and then Disk Extended Color Basic when you plugged in the diskette controller cartridge.
I'm going to get back into BASIC programming! (Score:2)
Oh crap, all of my programs are on 5.25" floppy disks.
Re: (Score:2)
I have an IBM PC/XT connected to my network for just such emergencies. It has a 360K 5.25" drive, a 1.2MB 5.25" drive, a 720K 3.5" drive, and a 1.44MB 3.5" drive. Everything a retro nerd needs. :)
Re: (Score:2)
I am curious how that machine is connected to a modern network? RS232 -> USB -> Ethernet adapters? And what O/S do you have on it?
Re: (Score:2)
I'm using a Xircom PE3 parallel port Ethernet adapter, Brutman's mTCP TCP/IP package, and DOS 6.22. I have multiple configs set up in AUTOEXEC.BAT and CONFIG.SYS to switch between mTCP for TCP/IP related software and Microsoft's DOS network client for NETBEUI. This allows me to choose between using either FTP or shared drives for software transfer.
Re: (Score:2)
Haven't used this personally but people have said it works great. https://etherdfs.sourceforge.n... [sourceforge.net]
Re: (Score:2)
PC XT's have 8-bit ISA.
Thus you just plug in a ISA ethernet card such as this one: https://www.hackster.io/news/s... [hackster.io]
Re: (Score:2)
Think I still have the 2.88-compatible drive from my real IBM 286 (don't recall ever seeing a 2.88 disk other than the DOS disk it shipped with)
Re: (Score:2)
Yeah, those drives never caught on for some reason. As I recall the price for 2.88 diskettes was quite high compared to 1.44MB and 720K at the time. I would suspect the drives themselves were quite high as well. Another reason could be that the ZIP disk which could hold 100MB was introduced not too long after 2.88MB drives. For some odd reason those stupid ZIP disks caught on even though you always crossed your fingers and hoped the "click of death" wouldn't make a visit.
The 90s are back? (Score:2)
Hah! The BBC Basic [bbcbasic.co.uk] site is slashdotted, as of 2023-11-30T01:24:03Z :)
Pick/BASIC anyone? (Score:2)
My first job that required some level of programming was based on BASIC in 1991. It was BASIC but didn't require line numbers and was compiled. There were extensions meant for writing Pick database reports that was all written on a mainframe made by ... Sanyo.
Recruiters already asking for this skill? (Score:5, Funny)
At least +10 years BBC Basic experience....
Love That BBC Basic Is Back. (Score:2)
Just in time... (Score:2)
Just in time to teach kids...
10 GOTO OPENAI
Re: (Score:2)
I actually asked ChatGPT to write me some C64 and BBC Basic code. An initial scan showed only a few issues but they should run.
Just need to type them in.
There were plenty of better basics in the past (Score:2)
Anyone looking to add features to BASIC should look up Microware's BASIC09. It had a number of ideas including the ability to link to Pascal, FORTRAN and C programs with ease. It was one of the early ones that allowed structured programming.
Re: (Score:2)
Was that part of the OS9 package that was used on 6809 processor based systems?
Re: (Score:2)
While I'm not certain about OS-9 that was sold by other vendors, but BASIC09 came with OS9 Level 2 that was sold by Tandy for it's Color Computer 3. NitrOS9 (OS-9's spiritual successor) I think also includes it.
Back in the day, fresh out of college, I did the OS9/68k drivers to talk to a transputer card in a VME rack.
Re: (Score:2)
...should look up Microware's BASIC09.
I absolutely LOVED BASIC09 back when I was heavily invested in the CoCo 3. That little 8-bit computer was a hell of a multi-tasker (multi-processor, to be more accurate). I ran my BBS, did programming, and played games simultaneously while my MS-DOS contemporaries had to dedicate an entire, hugely expensive for the time, PC just to run a single-line BBS.
Re: (Score:2)
I had OS-9 for my COCO3, and it came with BASIC-09. It was a great dialect, though to be honest, it was probably closer to Pascal than it was to BASIC. As I recall, it could directly access OS-9 system calls, could access any OS-9 program or data module, and while it wasn't a true compiler, did compile to P code which was a loadable OS-9 module as well.
OMG, Basic is sooo ugly .... (Score:2)
It was my first PL and I have fond memories, but it's 30 years ago and this is the first time I'm a long time that I have seen Basic sourcecode and oh boy is it ugly. ... OMG, ALL CAPS and line numbers! Do you guys remember line numbers? LOL. It's been a long way since Basic.
Re: (Score:3)
This is BBC basic. Commands were all caps, but variables and named procedures an functions did not need to be.
Re: (Score:2)
Line numbers can be auto inserted. Some basics are ok with lowercase but CAPS are best anyway.
There is no mistaking an 'I' for an 'l' when writing in uppercase.
There were bugs. (Score:3)
10 dim a%(1,1,1,1,1,1,1,1,1,1,1,1,1,1)
Would corrupt the system. You could also do a line with a large number of gosubs that would reboot the computer without even being run.
RISC OS (Score:2)
If you use a Raspberry Pi and run RISC OS Open on it then you have immediate access to BBC BASIC with full integration in the OS (you can write full GUI apps and games) as well as some of the fastest GPIO access times.
BBC Basic aslo has an assembler built-in so you can have your ARM machine code in your BASIC program.
Interpreters also exist on other platforms, this SDL one is a new one.
I like to write some BBC basic code on an old BBC Micro them simply copy the filr over to a Pi for a bit of additional codi
Hardware implementation (Score:2)
Other than my other post re running BBC Basic on a Raspberry Pi running RISC OS open, we also have the AgonLight2 SBC. A Z80 based 8 bit SD card using computer that runs BBC Basic and has VGA output.
https://www.youtube.com/watch?... [youtube.com]
um (Score:2)
It's weird to see, but BBC Basic can actually do some interesting stuff given the power of modern hardware. It can address up to 256 MB of memory
256MB? Wow. Even VBA in 32 bit Excel can do about 500MB. Making it able to access more than a small amount of RAM is basically worthless unless it can access a large amount. 256MB is not actually interesting.
Could be a godsend (Score:2)
Re: (Score:3)
Because it's fun to revisit your past now and then. I can code in a wide range of languages but it's fun for me to visit https://qb64phoenix.com/forum/... [qb64phoenix.com] QB64 now and then to bang out some old school code. I'm sure those in the UK find it fun to visit BBC BASIC now and then too.
Re:That's ... umm... well... nice? (Score:4, Informative)
It's an extremely easy language for beginners to learn and use. The BBC Micro was very popular in the UK - most schools in the 80s had a computer room filled with computers running BBC Basic. A lot of people who dabbled with BBCs at schools decades ago can fire this up and be writing programs in seconds. If nothing else, it's a fun bit of nostalgia for people with fond memories of the system.
Re: (Score:2)
It's an extremely easy language for beginners to learn and use. The BBC Micro was very popular in the UK - most schools in the 80s had a computer room filled with computers running BBC Basic. A lot of people who dabbled with BBCs at schools decades ago can fire this up and be writing programs in seconds. If nothing else, it's a fun bit of nostalgia for people with fond memories of the system.
My father was the school computer resource manager for the Bristol area. I lived in a house full of bloody BBC micros. I was doing parallel programs before I knew they were a thing.
Re: (Score:2)
How about me?
I program my Rasberry Pi's in BBC basic which coms integrated with the best OS to run on a Pi, RISC OS
Re: (Score:2)
BASIC is one of these abominations that refuse to die.
BASIC isn't an wasn't an abomination.
Re: (Score:2)
Those that do not understand the mistakes of the past are doomed to repeat them.
Re: (Score:2)
meh, you're just going for strong opinions angrily held.
BBC BASIC wasn't an abomination. For it to have been, it would have had to do something badly wrong, and on the whole it was pretty good.
People who insist everything old is bad keep repeating the mistakes of the past because they keep throwing out stuff that worked. That's probably why modern languages are pretty much universally a worse teaching experience.
Re: (Score:2)
You really are stuck in the past. Deeply. There are some good old things and some bad old things. Being unable to distinguish them is not the hallmark of a working mind. I am well aware that well-working old stuff should not be thrown out and I am not doing that. But BASIC is not "well working" and never was. It always managed to just be "barely acceptable". We have better things now.
Re: (Score:2)
Nah, you're just the kind of person who likes shitting on stuff to big yourself up.
I note you haven't actually put forth any arguments about why it was barely acceptable in 1982, you're simply ranting without substance.
BBC BASIC was absolutely well working. It was a heck of a lot more than "barely acceptable". Did you ever own or use a BBC? The BBC was in fact renowned for having a fast, compact and very feature rich BASIC.
QuickBasic was also a really good product.
Re: (Score:2)
BASIC was no more an "abomination" than mostt variants of COBOL, FORTRAN or assembly. It was easy to write spaghetti code, but there were ways to write well in even in BASIC. The other side of this, and this was true even of assembly language of the era, that you had machines of very few resources. A high end machine like a Commodore 64 might have 40k RAM, but many had far less than that (my first computer had 4k on board and a 16k expander, for a whopping 20k of RAM available to BASIC). You had to program
Re: (Score:2)
BASIC was no more an "abomination" than mostt variants of COBOL, FORTRAN or assembly. It was easy to write spaghetti code, but there were ways to write well in even in BASIC.
Indeed and we're talking specifically about BBC basic here which had named procedures and functions. Not having a block structured if-elseif, line numbers usually got used, but if you stuck to local jumps for gotos, it hardly mattered.
The other side of this, and this was true even of assembly language of the era,
Another fun thing about
Re: (Score:2)
Key word in both of the above posting "was". Obviously, when a technology is in its infancy a lot of trade-offs have to be made. Sticking to the old solutions much later is not a good thing in any way though.
Re: (Score:2)
A lot of people take Dijkstra's quote much too seriously:
“It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration”
As evidenced by the many thousands of excellent programmers whose first language was some forn of BASIC.
https://reprog.wordpress.com/2... [wordpress.com]
Re: (Score:2)
Your reasoning is flawed. This does in no way represent a valid reason to keep BASIC alive.
Re: (Score:2)
I'm saying Dijkstra was flat-out wrong. The ubiquity of BASIC inspired a lot of clever, creative people to become involved with programming, and technology in general.
As for "needing a valid reason to keep BASIC alive", what is the valid reason for developing emulators which allow people to recreate and mostly play games on old systems? Newer, better systems are available now, why would I want to waste time playing Chrono Trigger on ZSNES or Pacman on MAME? Or tinkering about with old programming languages
Re: (Score:2)
No, Djikstra was not wrong. He just engaged in a bit of hyperbole. BASIC "programmers" need reformation, but doing that is possible in most cases. BASIC itself cannot be fixed though and belongs on the trash-heap of technological history.
And no, it was not BASIC that got these people involved. It was the availability of a programming language, any language really, on cheap hardware. That it was BASIC was unfortunate, but at that time there were constraints that limited the distribution and use of better lan
Re: (Score:2)
No, Djikstra was not wrong. He just engaged in a bit of hyperbole.
The two are not mutually exclusive. And as an additional point, Dijkstra's quote become very out of date.
BASIC itself cannot be fixed though and belongs on the trash-heap of technological history.
Except you're demonstrably wrong. When Dijkstra was talking in 1975, BASIC had basically no structured programming concepts. This did not stay the case. The famed QB45 was released in 1990. Line numbers were gone and it had the full suite of structu
Re: (Score:2)
Re: (Score:2)
Back in 1983, expressing this opinion made you quite the edgelord. Possibly you have similarly strong opinions on Nintendo vs Sega, or Amiga vs Atari? 40 years on, though, it seems like a rather quaint criticism. Perhaps in another 40 years, you will telling the nurses in your retirement community about how terrible BASIC is? "Yes dear, that's nice, your iDiaper needs changing. What would you like for dinner?"
Re: (Score:2)
I am expressing this opinion in 2023 and in response to a story that said "BASIC is back in a big way". Maybe you missed all that and continue to be stuck in 1983?
Re: (Score:2)
And you're entitled to continue expressing your 40 year-old opinion in 2023. You're like the Japanese soldier Hiroo Onoda who remained hidden on his island in the Philippines until 1974, convinced that WW2 was still raging. It's OK, dude, the war on BASIC finished many, many years ago. Well done for your patriotism. Erm, please stop murdering Filipino islanders.
Re: (Score:2)
What, you think BASIC somehow redeemed itself in that time? It did not. It has fundamental shortcomings and defects that cannot be fixed. The only excuse back then was limited hardware. That does not apply anymore. But I am not surprised. There are always a few morons that insist some old crappy and obsolete thing was great. Maybe you do not know any modern coding paradigms? If you compare utter crap to nothing, it _would_ look good, but only then.
Re: (Score:2)
Speaking of morons, I think you got your username wrong :) It's supposed to be "Gwaihir" with an A. I'm surprised you never noticed before.
It's no wonder you spend so much of your life being angry :)
Re: (Score:2)
You are just another moron that tries to be clever. And failed. The misspelling is intentional as I probably have explained here half a dozen times by now. It does serve as a nice detector for arrogant nil wits though. And it just caught one more.
Re: (Score:2)
Nice comeback! Thank you for an illuminating discussion, and I hope you enjoy the rest of your day.
Re: (Score:2)
Dijkstra hated basic and was very smart. I think he believes if he hates it too then he will be smart as well.
He has of course not leveled a single concrete criticism.
Re: (Score:2)
Because its one of the best procedual languages to start with and use.
C is hard for newcomers, who dont know what a variable is, or any idea on program flow. A FOR loop in BASIC is, well BASIC and easy to wrap your head around. In C however it has strange rules.
It's why VB was so popular for so long, BASIC lent itself to rapid prototyping.