In a fit of rampant nostalgia, I dug out my tatty old copy of that first Computer Shopper recently just to remind myself of how much has changed in the more than two decades since it was printed. Here are a few juicy titbits that I discovered:
Here are some of the bargains on offer from advertisers:
Hawk Scanner – flat-bed scanner which thinks it’s also a Photocopier and Fax for only £1,250 inc VAT
Atari Hi-Res Mono Monitor for only £2,999 inc VAT
40Mb Seagate hard disk and controller - £431.25 inc VAT
WordStar 2000 word processor - £228
Microsoft mouse - £129
Yikes! Stuff was expensive back then!
Articles in this issue include:
Getting to grips with the Sinclair Z88
Bolting a 3 ½ inch drive onto a PC
C Pitfalls and Potholes (overflows and underflows, preprocessor foibles and those pesky pointers!)
I wrote quite a lot for that first issue. My contributions include a program in Turbo Prolog and a comparative review of two portable PCs – the Amstrad PPC and the Toshiba T1000. Unsurprisingly I prefer the slim, elegant Toshiba rather than the big, clunky Amstrad – though with the warning that the Toshiba (at £995) will make a much bigger dent in your bank balance than the Amstrad (a snip at £399 with a massive 512K of memory, a single floppy drive and no hard disk).
Modula-2 – programming beyond Pascal
This was back in the days when all the hippest programmers would argue about the relative merits of C versus Modula-2. I was decidedly in the Modula-2 camp and so I asked some people from Jensen Partners International (makers of the TopSpeed Modula-2 compiler) to put the case for that language.
View a larger image of this page.
The things they particularly cite in Modula’s favour include:
Modules (well, obviously). This is what they say...
“A Modula-2 module consists of two parts: a definition part and an implementation part. The definition part contains constant, type and procedure declarations, but no code. This is the only part which is ‘visible’ to the user of the module.....The advantage of this approach is that, rather than being built into the language, procedures defined in external modules may be changed at will to suit specific purposes. Indeed, Modula-2 makes full use of this feature, leaving all I/O and string manipulation to libraries of procedures.”
Concurrency (yes, really!)
“Modula-2 contains primitives for creating ‘coroutimes’ and for transferring execution between them.”
“Procedures can not only be called, but can also be used as values. They can be assigned to variables, put in records, passed as parameters, and so on.”
Back in 1988, this was all pretty exciting stuff. Even now, I still get a whiff of the old Modula-2 (“I have seen the future!”) frenzy when I read this. Shame Modula never really went mainstream. Not enough curly brackets, probably.... a lovely language, though.
Anyway, enough of all this meandering down Memory Lane. If I feel in a nostalgic mood again soon maybe I’ll see what gems I can find lurking in Computer Shopper issue 2!