Programmer David Given has done the leg work to contact and ask R. T. Russel about releasing the Z80-based BBC BASIC as Free Software. It is now available under the non-reciprocal zlib license:
As part of the work I've been doing with cpmish I've been trying to track down the copyright holders of some of the more classic pieces of CP/M software and asking them to license it in a way that allows redistribution. One of the people I contacted was R.T. Russell, the author of the classic Z80 BBC BASIC, and he very kindly sent me the source and agreed to allow it to be distributed under the terms of the zlib license. So it's now open source!
[...] So the reason why this is important is that BASIC has, rightly, a reputation for being a pretty terrible language; but BBC BASIC was a dialect specifically commissioned by the BBC in 1981 as an educational aid. As a result, BBC BASIC supports named procedures, local variables, recursion, and other structured programming features. Unlike Microsoft BASIC, you can write proper structured, maintainable programs in BBC BASIC without needing to refer to any line numbers anywhere. And it'll run faster that way: [...]
[...] The original version was written by Sophie Wilson at Acorn in 1981 for their 6502-based range of BBC Micro computers and during the early eighties every school child in the United Kingdom was exposed to it, spawning a whole generation of bedroom programmers.
Earlier on SN:
[Ed's Comment: 170619-0724UTC. Added additional link to the original story]
(Score: 1) by pTamok on Monday June 17 2019, @09:25AM
Basically, the target of a GOTO was a label
or something similar.
Essentially, line numbers give a target at the beginning of each line, whether one is needed or not. Once you recognize that targets are only needed at the locations you wish to jump to, you can get rid of line numbers, and implement targets as unique labels, which is what BBC BASIC did.
Of course, line numbers are useful for serialization of the program instructions, but the program source code in a text file tends not to get jumbled up, unlike 80-column punch cards.