Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by janrinok on Sunday June 16 2019, @10:40PM   Printer-friendly
from the digital-archeology-now-before-its-too-late dept.

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]


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Informative) by theluggage on Monday June 17 2019, @01:35PM (3 children)

    by theluggage (1797) on Monday June 17 2019, @01:35PM (#856625)

    "Along with Microsoft's very similar BASIC for the Apple Macintosh, AmigaBASIC was the first BASIC interpreter to not require line numbers..."

    The Amiga was released in 1985 [wikipedia.org]

    The Mac is famously why 1984 wasn't going to be like 1984 [wikipedia.org]

    BBC BASIC was on the first BBC Micro released in 1981 [wikipedia.org]

    To be fair, though, the original BBC BASIC (and the Z80 version that TFA is about) didn't make line numbers completely optional (if nothing else, you needed them for program editing as there was no full-screen editor - bear in mind this was 1981 on a £400 home computer running off ROM and cassette tape), but the named procedures, functions and REPEAT/UNTIL structure removed most of the reliance on GOTO/GOSUB that made standard BASIC such a write-only language. Later versions added missing pieces like multi-line IF/THEN/ELSE/ENDIF, CASE and a screen editor - R.T. Russel has more "up-to-date" versions [bbcbasic.co.uk] available for modern systems - the Z80 version is strictly for retro hardware/emulation fans.

    Starting Score:    1  point
    Moderation   +1  
       Informative=1, Total=1
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 0) by Anonymous Coward on Wednesday June 19 2019, @09:12PM (1 child)

    by Anonymous Coward on Wednesday June 19 2019, @09:12PM (#857606)
    http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf [bitsavers.org]

    That's a BASIC manual (not specification) from 1964, for the original BASIC implementation. Page 4-5 say (of the first example program) "all lines in the program start with a line number...we use only capital letters...spaces may be used, or not used, at will..."

    • (Score: 2) by theluggage on Thursday June 20 2019, @08:06PM

      by theluggage (1797) on Thursday June 20 2019, @08:06PM (#858184)

      That's a BASIC manual (not specification) from 1964,

      Not sure what your point is - we're talking about 1981 BBC BASIC, not 1960s Dartmouth BASIC or 1970s Microsoft BASIC. BBC BASIC was one of the first BASIC for micros/home computers to add named, multi-line procedures and functions with parameters and local variables, making it much easier to write comprehensible programs.

  • (Score: 0) by Anonymous Coward on Friday June 21 2019, @03:45AM

    by Anonymous Coward on Friday June 21 2019, @03:45AM (#858417)

    The summary says “Unlike Microsoft BASIC, you can write proper structured, maintainable programs in BBC BASIC without needing to refer to any line numbers anywhere.” It’s written in the present tense: “you can” rather than “you could.” MS BASIC for Macintosh (1984), QuickBASIC (1985) AmigaBASIC, and Visual Basic (1991), all of which came from Microsoft, don’t require line numbers. As for which was the first BASIC that didn’t require them, the claim in Wikipedia is supported by quotes from two articles from Compute! Magazine from 1986. The articles may be in error, but you haven’t shown that they are.

    From the AmigaBASIC manual (https://archive.org/details/AmigaBasic):

    Program lines do not require line numbers. Assigning labels to functional blocks lets you quickly see the control points in your program...Alphanumeric line labels beginning with an alphabetical character allow the use of mnemonic labels to make your programs easier to read and maintain.

    It is advisable to use control structures (IF... THEN... ELSE, WHILE ...WEND, and ON... GOTO) in lieu of GOTO statements as a way of
    branching, because a program with many GOTO statements can be difficult to read and debug.