Stories
Slash Boxes
Comments

SoylentNews is people

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, Insightful) by theluggage on Monday June 17 2019, @02:51PM

    by theluggage (1797) on Monday June 17 2019, @02:51PM (#856655)

    Never got the BASIC-hate.

    Well, if - like many - you started with BBC BASIC then you missed out on the true horrors of regular BASIC:

    Before BBC BASIC:

    M$ = "Hello World": MX%=100: MY%=200: GOSUB 2160

    With BBC BASIC:

    PROCshowmessage("Hello World",100,200)

    ...it was hardly the same language. Not that I'm knocking the earlier BASICs - if you had a home computer with 4k RAM and a domestic cassette tape recorder, a Pascal or C compiler was hardly an option - even running an assembler was a bit of a juggle.

    Thing is, the language wars - which are still going today - aren't based on practicality and don't factor in the 'bad programmers can write bad programs in any language' element. Back in the day "Structured Programming" was the thing, and if a young person ever saw a GOTO statement they would be irrevocably damaged for life. These days, the language warriors are mostly on the "functional programming" bandwagon - better to scare off budding programmers with baffling Haskell than let them be corrupted by filthy procedural languages. This doesn't stop languages like C, PHP and Javascript getting mass adoption because they are practical solutions to practical problems. (PHP, in particular, is an abomination of a language, but its supported by your web hosting service and has a huge library of useful functions).

    Why did not one single home computer come bundled with a C compiler built into the ROM, then?

    ...not through the relative merits of C versus BASIC as a language, but because, running a compiled language - especially one with such reliance on libraries and header files as C - on a system with limited RAM and no floppy drives was hugely impractical, even if you could fit the compiler and run-time library into the usual 8 or 16k ROM. (C without stdio.h and clib is like... [metaphor excluded for space reasons]). That said, you could buy Pascal, COMAL, Logo, Lisp, BCPL, PROLOG and FORTH in ROM for the BBC Micro. Pascal was two ROMS (16-socket ROM expansion boards were a popular accessory for the BBC!) and was usable without disc, but that was about as much use as a chocolate teapot - you only got the minimal 'ISO level 0' version of the language* and your verbose Pascal source code had to share RAM with the compiled code - the full-blown compiler needed a floppy drive and the second processor add-on for the BBC.

    (*if anybody is about to wax lyrical about Pascal based on experience of extended implementations like VAX Pascal, Turbo Pascal or Delphi then you've never tried bog-standard Pascal).

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

    Total Score:   3