Saturday 3 September 2011

Bring Back The BBC Micro!

I remember when our school got a computer.  It was sometime around 1984, and I was about 8.  It was a BBC Micro (or maybe a model B, I've never been much of a hardware buff).   They were fantastic little machines made by Acorn for the BBC, who through a stunningly insightful move had initiated the BBC Computer Literacy Project, something that without a doubt is a significant factor in the lives of many computer professionals today.  And a good few amateur hackers, which is equally good.

Google's own Eric Schmidt recently lambasted Britain's computing education, and unpleasant as it is to hear he's absolutely right.  By the time I hit high school, the momentum built up by the BBC had faded.  We were taught to use word processors, spreadsheets and databases.  I don't recall doing any programming at all.  From what I've heard not a huge amount had changed.  Far more emphasis is placed on the use of applications than is on actual programming.  It's akin to a craft and design class showing you a chisel and then spending half an hour teaching you how to use a chair.

But back to the BBC Micro, the little silicon hero at the centre of this minor diatribe.

It was really quite brilliant.  This is pre-GUI remember, so Mrs Bott had to sit a wide-eyed eight year-old down in front of a black screen with a little white cursor, and explain to him that this was the future.  I knew that of course.  This was a TV that could do what I told it, I was living in one of my Asimov novels (the Lucky Starr series in fact).

And we programmed, us eight year olds.  Through a simple cursor on a screen, and some basic shell level commands, we made things happen.  Turtle was a particular favourite - part programming language and part game, you could control a little cursor on the screen that drew lines.  You could move forward and rotate the cursor.  I don't recall the exact syntax, but it was something like:


That would give you a square.  At this point we'd realise there was a quicker way, and were introduced to loops:


Did exactly the same.  And, of course, we'd all compete to make the best circle we could without killing the machine, so that's a basic knowledge of hardware limitations and the effect of big loops.  We were eight!

So why, I demand to know in an overly theatrical way, was I next sat down in front of a plain old terminal in 1994?  Ten years later?!  In a university physics class?  If I'd known at the time I'd have been bloody furious, ten years is forever when you're eight.

What happened in the meantime?  The school only had the one computer, and a lot of children, and no computing teacher.  They did the best they could, but there was never a chance of getting more than the odd hour on it, and you need more than that to really get into it.  Then I programmed the video for my parents a lot, and did a lot of whining about them buying me a computer.  Eventually, when when the cost/whining ratio hit a critical point, they bought me a Commodore 64, and I got to grips with BASIC.

By the time we had the mandatory-aged-14 classes on how to type and save a file I was fairly quickly convinced that computing education in schools had missed the point.

What would have been useful?  A bare bones computer the whole way through.  A basic UNIX style terminal with BASIC, maybe Perl.  Oh, the things we could have done and learned.

The thing is, these days that's possible.  If any kid wants to learn programming they should have free access.  Hell, we could easily provide a single decent computer for the school, and a lot of dumb terminals for the pupils to log in through.  But no GUI, that's the important point.  No windows (certainly no Windows), no mouse, nothing.   Certainly no internet.  Give them Lynx for Christmas perhaps.

We've lost sight of what made the brilliant programmers Britain boasts today.  It wasn't Windows and Word, don't be silly, those weren't even around when our greatest and brightest were learning.  It's a free reign.

Give them root access - give them a virtual machine.  Give them Perl and pwd and Apache.  Give them shell scripting and apt-get and sudo.  Give them SSH and vi and/or emacs.  Just give them a bloody computer and let them learn!  Yes, they'll break the computer.  And most of them won't want to admit it, and try to fix it themselves.  And some of them will manage it.  The ones that don't?  Well it's only a virtual machine after all, just reset it. 

It's not difficult (unless you're old enough to be an MP) and it's certainly cheaper than most of the nonsense spent by government these days.  How many virtual machines would a cool billion buy?  Cos that's what we spend on no trams these days.

1 comment: