The Computer Programme

The Computer ProgrammeOne of the best things about my day job is that I come upon a lot of old computer lore — things like INTERCAL. And the other day, a request came in for a resource page on BBC BASIC. I’d never heard of it, and I figured that the “BBC” must be a coincidence. But no. It indeed stands for the British Broadcasting Corporation. It was a programming language developed especially for a television series on BBC2 called, The Computer Programme.

The BBC is a public institution and so it actually believes in educating the public as well as entertaining it. And back in 1979, someone at the broadcaster decided that they really ought to inform their viewers about this brave new world of computers. But they wanted to do it in a very hands-on way. The problem at that time was that there were a zillion computers. There were things like the Sinclair ZX80, which are hard to imagine as computers at all. But regardless of that, they were all different, and what the BBC needed for The Computer Programme was consistency.

So they had a computer built, the BBC Micro — built on an 8-bit 6502 chip, which was hugely popular until the 8086 family became dominant. It was created by Acorn Computers. (Acorn was later purchased by Broadcom, which was bought just last year by Avago Technologies to form Broadcom Limited. It’s the nature of the computer business.) It sold at the time for £235 (about a thousand dollars today.) The new machine needed an interface, and as old-timers like me remember, that almost always meant some form of Basic. So they had a very young Sophie Wilson lead the project to create BBC BASIC.

The Computer Programme Begins!

This was all put together, and on 11 January 1982, the first episode of The Computer Programme appeared. And as you will see if you watch the first episode embedded below, it’s really good. It starts off with a discussion of Stonehenge as an early computer that eventually had to be abandoned because it was so difficult to reprogram to accommodate changing astronomical variables (eg, precession). And then they move onto computer punch cards and how they relate to silicon chips. And before you know it, they are playing a break-out pong game on the BBC Micro.

What I most like about this episode is a short reported segment about a woman who owns a candy store. She had earlier bought a computer and started doing all her accounting and inventory on it. She says that it saves her hours of work every day. But the main thing is that you can see she loves computers. I remember feeling the same way. I bought my first computer to do music on, but almost immediately, I was creating programs to calculate the value of pi and the number of atoms in the universe. It’s very addictive.

It turns out that the candy store woman has branched out and is now doing computer work for other businesses. The reporter asks her if she hopes that the computer business takes off, and the woman is very keen on this. She explains that because of some change in the traffic flow of the area, the shop has not been doing too well. Given that the woman seems like she’s about 50 years old, she comes off as heroic.

By 1982, personal computers weren’t that new a thing. But it was still a heady time with all kinds of different machines. It’s fascinating to look back on it all. Today it isn’t computers that are interesting but the network itself. In those days, you were on a computer. Today, virtually everything I do is online. The computer is just a portal — more like a television than computational machine.

11 thoughts on “The Computer Programme

  1. It’s not just Broadcom that is a successor to Acorn – so is ARM Holdings, one of the most important chip designers for mobile phones.

    The BBC’s foray into computing really was important in Britain. The government (a Tory one!) agreed to give every state school in Britain a BBC Micro. And some went much further, and got themselves several.

    I went to a private boarding school that was right on the leading edge – we had a few Acorn Atoms before the BBC micro came out. And by the time I left in 1985, we had the biggest Acorn (“Econet”) network in Europe apart from Acorn themselves, stretching right across the school campus (the teacher in charge bribed the British Telecom engineers to look the other way over their lunchbreak so he could lay a cable in their trench across the public road that divided it). We had a school-written message board system so anyone could put up messages on the monitors in all the boarding houses and classroom corridors. And 4 years later, I went to work for IBM.

    I still have my “Advanced User Guide for the BBC Micro” and “Assembly Language Programming for the BBC Microcomputer” books I got as prizes. Seriously, if you want any information that might be in them, let me know.

    • I hope that the article doesn’t come off as me making light of it. It was clearly a great series. And it was followed up with at least two others. I think it shows that television really can be a force for social good, at least if you don’t have to depend upon people like the Koch brothers to support it.

      One of the things I remember when I was playing around with 8086 assembly was just how much you could do with tiniest amount of resources. Of course, that meant lots of human work. But I must admit, I always enjoyed writing in C because I knew just how the computer used it. C++, which I used far more, always upset my senses because it did abstract the computer. And that’s great from a productivity standpoint. But computers are for me what cars were for my father’s generation. I liked getting under the hood. If I had the time, I’d probably be a hobbyist. Then again, I’m more interested in pure math…

      • No, it didn’t come off as you making light of it at all. And I agree with you about the ability to do a lot in such a small amount of memory (32K RAM for the original BBC model ‘B’, of which 10 or 20K went to memory mapped graphics, and the experts could still write games like Elite or Revs, with a 3D point-of-view). I wrote an assembler program that could construct a maze and give you a 3D point of view inside it, that probably took up under 1K, and it was embedded inside a BASIC program.

        My knowledge of that 6502 assembler meant I quickly understood 80×86 assembler too, and I agree that ‘C’ code mapped nicely on to machine code instructions, well enough that you could more or less reverse engineer the machine code into C. But when I had to try and understand mainframe 370 assembler years later, I just couldn’t. It seemed deliberately obscure.

        • I actually came at it the other way. I learned C first and took digital electronics. Then I tackled assembly language, and it seemed really easy. Actually, digital electronics is the only science class I ever remember loving — the only one where I felt it I completely got it.

    • Around about 1970, my brother got interested in ham radio and, in the mid-1970s, he got me interested in digital electronics. (Just the simple stuff. I read a tutorial on transistors from the local ham club and kind of understood how they physically worked at the atomic level, but I never understood why you needed a resistor of a certain value here or a capacitor there.) Then I learned programming on a TI SR-56 programmable calculator.

      In 1977, I got and built (soldering parts on boards) a Motorola 6800 evaluation system with 128 or 256 *bytes* of RAM. (It was essentially a 2-board KIM-1 if you’ve heard of that 6502 computer.) I later wire-wrapped an 8KB memory board and a UART board which talked to my brother’s surplus Baudot RTTY thanks to a single-transistor interface he built for me. Dr. Dobb’s Journal had popularized Tiny BASIC (1- or 2-KB BASIC interpreters), so a lot of people had written various implementations. I forget where I picked up the 6800 version I used on cassette tape. (This was also the time when companies sold 512-byte multitasking operating systems for embedded systems.) So, I’m not impressed with those 32KB and 48KB behemoths you and others worked with! (The old Atari game systems in the early 1980s only had 128 bytes of RAM.)

      Also in 1977, a friend of my brother’s and mine took us to Goddard Space Flight Center and let me enter and run a BASIC program on his Intel 8080 development system. He also showed us the $200 military-hardened 8080 chips they used for space experiments launched on high-altitude weather balloons. (For comparison, full-time tuition for in-state students at the University of Maryland was $300/semester at the time.)

      I love C and I don’t like C++ because of the out-of-control way that complexity has been continually added over the decades. (The C Standards have also gradually increased the complexity of C and it’s gradually getting annoying to me.) However, a lot of languages have close-to-the-metal implementations. FORTRAN and Algol on the 1970s-era UNIVAC mainframes at the University of Maryland pretty much had one-statement-to-one-instruction compilers. What I initially found interesting about C was that many of the string *functions*, not just statements, had one-to-one mappings to VAX assembly language instructions (e.g., strspn(), strcspn(), strxfrm(), etc.). (Which might not be surprising since BSD UNIX on the VAX was very popular and maybe the string functions came out of that; I should research the history of the string functions.) The C language itself is fun, but no more powerful than VMS FORTRAN 77 was under VMS. (VMS FORTRAN was considered the gold standard of FORTRAN compilers by other computer companies and by the UNIX VMS-FORTRAN-to-C translator.) Text processing was much easier in FORTRAN and BASIC than it is in C.

      I bemoan the lack of awareness of modern programmers on the subject of what happens under the hood. Partly, I think this is due to the higher-level languages in use now (although LISP, APL, and other high-level languages date back to the 1960s and were in use back in the 1970s) and partly due to the fact that undergraduate curricula these days don’t really have the time to cover in-depth everything from the bit level up to the advanced computing concepts. (Judging from my son’s experiences as an undergraduate computer science major.) And partly my attitude is a bit of “get off my lawn”. Things weren’t necessarily better in the past; they just seem so in hindsight. In the 1980s, I had great difficulty explaining to a fellow programmer that the S records (?) used to load the contents of memory for our EPROM programmer and and adopted by us to download programs to our embedded 80286 test equipment were strings of ASCII characters containing the hexadecimal representation of the byte values. He couldn’t seem to understand that, for example, “7F” is not an actual binary byte value but two ASCII characters, ‘7’ and ‘F’.

  2. My first computer was a TI 99-4A. It had a weird keyboard. It’s Basic syntax was different from most others around at the time. It had color! But I used a 10 inch black and white tv for a monitor. I loved video games, but never got very far with writing them. There was an advanced Basic plug in module that gave you sprites, but I never got it. I got pretty good at programming the graphics, such as they were. You programmed squares that were eight pixels a side. For each four pixels a hex code specified which were shaded, and the color was specified elsewhere in the line. I think you could stack them to get multiple colors in a square. I used to draw out my graphics on graph paper and write out the hex code. I did some animations. One even filled up the 16K memory on the computer. My best program was probably the star simulator. The TI 99-4A had an actual random number generator. I could call a black screen and plot random one and two pixel white stars. And I could plot a random x/y coordinate to appear and erase a one pixel star. This was the starfield ‘blink’ that gave it realism. Eventually the program would erase all the fixed stars. I had a ‘get cell contents AND if not null GOTO randomize routine’, or however it was, fix. Mom liked that program. The random patterns really were interesting, and realistic.

    • That’s great! But that was one powerful computer. According to Wikipedia, it had 256 KB of RAM! Wow! The TRS-80 maxed out with 48 (4 standard). But I do think we miss out on a lot by having computers that are so abstracted. It takes away some of the creativity. Then again, if you are so inclined, you’d be amazed what you can do on a webpage with PHP. For the right kind of people, there are always ways to make computers do things no one ever thought about. A cool think about the BBC computer was that it allowed direct assembly language access. Most computers provided nothing more than peak and poke, which could be used in cool ways, but weren’t really enough.

  3. That was fun. It’s odd how everyone in the know knew the technology was going to change so much, yet few predicted how. (Largely, it’s made corporate efficiency at maximizing profit more effective. And been a timesaver for normal people too — although how computers have served corporate efficiency has outpaced our ability to use technology to reduce the time we spent haggling with corporations.)

    Makes me feel bad I never stuck with the stuff. I was quite the computer geek at 13 or so in 1985. But then I switched to a rich kids’ school (on scholarship; I was getting abused too regularly for being a nerd in our rough district public school) and computers were completely ignored — except by our school newspaper, which had an early laser printer. For the rich kids too lazy for science and too smart for business, the future was . . . journalism!

    Those old computers were pretty fun though. (Shh, don’t let the one I’m using now know I don’t love it as much . . . it’ll get cross with me.)

    • It was a special time. But I still think that computers have changed our lives less than we normally think. But you know, you can get a GNU/Linux machine and get very 1960s on that thing!

  4. Gee, and I feel like I am really talking smack to someone when I tell them I started with the Commadore64 you gave/loaned me, which you used for CakeWalk.
    I will always fondly recall the innocent moment when I asked you, “what can I do with this?” and you walked me down that (primrose) path, explaining, “this is hardware. Now you need something called software.” And off to Toys-R-Us I went.

Leave a Reply

Your email address will not be published. Required fields are marked *