Programming for all
I bought my copy of the Ahl book from a bookshop in Ottowa, a memorable event mainly because computer books, and more importantly books on Basic, hadn't made it across the pond at that point. It was a collected set of listings from his Creative Computing columns, hand illustrated with Wall E-precursor cutesie robots, and it had the look of something assembled from actual printouts.
Computers for engineers dads - and dads who managed engineer dads
The Alcock book went one stage further: a spiral-bound tome, entirely hand-written with hand-drawn illustrations, arranged in double-page spreads.
Both books made a point of acknowledging that to produce a single book on Basic, first meant trying to find common language constructs in order to make their coding 'portable'. In his introduction, Alcock admits to having 11 Basic manuals to hand when writing his book, and this was certainly not exhaustive.
Indeed, this seems a tiny number, given that there are more than 300 documented variants of the language still kicking around, with a version of Basic for literally every letter of the alphabet. Documenting a 'portable' Basic was quite a challenge.
A program wot I wrote (well, the Editor, actually)
Alcock himself released a proprietary re-write of his book, Illustrating BBC Basic, which was aimed at the burgeoning UK schools market, for a machine whose Basic dialect included those exotic
PROCs with passed parameters and OS-specific system calls. If they learned nothing else, developers who growing up in this era learned to fear forking.
It's a common belief that it was the death of the 1980s hobbyist scene, due to cheaper games consoles initially and online gaming latterly, that caused the clear and marked decline in prospective IT undergraduates and employees. But, I suspect, for me, and other forty-something geeks, it wasn't just the games.
Admittedly Basic is not a great language: yes, it led to the evils of VB, and yes Dijkstra's view of it as a threat to good coding perhaps can be taken as read. But whilst 'Move the Turtle' may be great for my seven-year-old iPod wielder, and the Lego-like Scratch environment looks great for ten-year-olds, I worry that the joys and frustrations I remember at 11 - manipulating letters on screen, and structure in my head - are not going to be catered for by drag and drop, spoon-fed Logo and Scratch.
You see there were other cheap thrills to be had with a C64, BBC B, Dragon 32 or ZX Spectrum, that weren't available on those whizzy games console that don't ship with Basic, a language that 11-year-old school kids could actually write code in: that excitement of seeing how the game in the latest computer mag worked, coming up with a new version, and saying "I did that".
That's what sparked my interest. Maybe there is no skool like the old skool. Or perhaps I should just embrace my old-fart-hood. ®
Basic instinct: how we used to code
Re: Ughh... Still shudder when I recall those days
Nothing wrong in a language which only has 'goto' for flow control. How do you think assembler implements those fancy 'Do..While' and 'For...Next' structures? That's right - 'IF...THEN', manually decremented/incremented counters and 'GOTO' - much that same as you'd have to do ti in BASIC.
If you understand how it works at a low-level, it's easier to appreciate it at high-level.
My single mother was very poor so there wasn't much chance of me getting hold of a computer in those days, fortunately many of my friends had parents who could afford them. So I learnt to program on my friend's devices. Often I actually used them more than they did. Many times friends would simply donate their zx81's & then spectrums to me for months on end!
Eventually a few years later my Mum & relatives clubbed together and got me an Amstrad CPC 64 (green screen) and that's when I found the most useful programming book I have ever encountered.
It was a collection of about 30 basic programs for the CPC64, by this time due to the 64k ram typing many pages of basic into the thing was quite a task. The brilliant thing about this book though was that not a single one of the contained programs actually worked as printed! I would spend days going over the code checking for syntax errors on my part.
Once it was clear I had made no mistakes it was time to start trying to fix the code myself. The buzz I used to get when all that gibberish started to make sense was fantastic. Most of the games were nothing to get too excited about, but becuase I had managed to get them working myself they were a lot more satisfying than they would have been.
I'm sure the author(s) of that book didn't set out to produce 30 broken programs, but because they did, I became hooked on the things. Unfortunately I was never in aposition to be able to touch a computer at school or have any formal training until I put myself through college many years later, then university (Bsc. Soft Eng).
The odd thing is after working with the things for so long, I have long since lost any love of computers, gadgets or programming. I detest the way commercial pressures lead to hacking crappy solutions together. I hate to see C++ that is actually C encased in a few ridiculously huge classes and most of all I hate the mainstream uses of the things these days (ie Marketing, repression, rampant capitalism).
The golden age of computers has passed & now we're into the 'functional magic ' era where technology bloggers can learn a bit of markup and think they understand what programming is like.
tl;dr I liked the old days, things were different when I were a kid.
Shop demo models
If you were messing around with a demo model in WH Smiths then a quick program along the lines of your first image was admittedly tempting:
10 PRINT "<MYNAME> RULES OK"
20 GOTO 10
However this was usually spotted very quickly and a shop floor bod would come over to sort it out.
I preferred the more subtle approach, which for the Dragon in your screenshot would have been:
20 PRINT "(C) 1982 DRAGON DATA LTD"
30 PRINT "16K BASIC INTERPRETER 1.0"
40 PRINT "(C) 1982 BY MICROSOFT"
60 PRINT "OK"
70 GOTO 70
Re: The star trek game
My dad worked for Honeywell (as a CSE) and I can remember sitting in his office (some time in the late 70's) and playing Star Trek on one of his terminals. It was great, and kept me out of trouble, because any time he was actually using the computer I'd send messages to myself via the pneumatic tube system in the building...of course, racing to see if I could 1) actually locate the right office and 2) beat the tube delivery. Of course, since I was 8 (and it was a long time ago) I don't recall ever getting in trouble, even though this was a good sized hospital. I think it did some of the patients good to watch an 8yo kid run down the halls staring at the ceiling and listening for the message canister... ah, happy memories.
If a kid did that today, they'd probably put the entire building under lockdown and call the SWAT team.
Shop Demo Software Shenanigans
A friend of mine had some serious phun with BBC model B's in stores that also sold software.
He would take a box of 5.25 inch floppy disks, all but a few of which was labelled "Watford Electronics Compatibility checker". (Watford Electronics were a third-party supplier of peripherals; they made an improved disk system for the BBC, better than but slightly incompatible with the "official" Acorn upgrade and some software, especially games, would not work with it.)
So my friend would ask to "check" if a game would be "compatible" with his Watford disk system. Inserting the "compatibility checker" disk into the drive of a BBC computer and pressing shift+BREAK produced a fancy screen with a progress indicator; which then asked for the game disk to be inserted, thrashed the drive a bit, then asked for the checker disk again. After a series of such disk swaps came the dreaded announcement that the game was not compatible with the WE DFS. He would return the compatibility checking disk to the back of the box, and ask the shop assistant if he could compatibility-check another game. While the assistant was away fetching it, my friend whipped out the compatibility-checking disk from the front of the box (nobody ever noticed this blatant switch, which was done with no sleight-of-hand) and booted it up.
Again the compatibility-checking process would require several disk swaps, and again it would fail. And my friend would wander off, dejected, before the shop assistant could work out what had just happened right under their nose.