Aardvark Daily

New Zealand's longest-running online daily news and commentary publication, now in its 25th year. The opinion pieces presented here are not purported to be fact but reasonable effort is made to ensure accuracy.

Content copyright © 1995 - 2019 to Bruce Simpson (aka Aardvark), the logo was kindly created for Aardvark Daily by the folks at

Please visit the sponsor!
Please visit the sponsor!

Another computer-tech birthday

3 May 2024

You know you're getting old when you find that the language you once used to program all manner of microcomputers has turned 60.

Yes,good old BASIC has just celebrated its 60th birthday, something that should be significant to anyone whose first introduction to microcomputers was a machine like the Apple II, ZX80 or TRS80. It's significant because this was just about the only accessible and understandable language available to computer hobbyists way back then (in the late 1970s and early 1980s.

How many of us spent many long hours typing in program listings from the myriad of magazines and books that contained the BASIC code for dozens or even hunreds of games within their covers?

How many of us also then carefully saved that game to a cassette tape and crossed our fingers that it would load again when we wanted it... only to be disappointed?

Although BASIC was simple enough to be understood by even the dimmest bulb behind a keyboard, all the best programs were littered with huge blocks of DATA statements containing an incomprehensible array of numbers that were then programatically POKEd into various memory locations to to the heavy lifting.

During the 1980s I spent several years teaching BASIC programming at a polytech and loved every minute of it. Watching people go from complete ignorance to being able to create their own working programs was a delight.

Of course "real" programmers looked down on BASIC with disgust.

The most common version, MSBasic, was almost completely unstructured offering only subroutines and very primitive functions as a concession to the concept of modularlity and structure. You couldn't write anything other than a trivial program without use of the horrific GOTO statement.

I recall joking that the only thing worse than BASIC's GOTO would be a COMEFROM statement.

Also, with most implementations of BASIC being intepretive, it was slow -- sometimes very slow, especially when the garbage collection routines kicked in. I recall writing a sorting routine that would run fine, until it wouldn't. Turns out that after a certain number of iterations BASIC would spend several minutes re-organising its memory to create a contiguous pool and that effectively froze the whole machine for the period of that garbage collection.

I ended up rewriting that routine in Z80 assembler. The result was that it was about 10 times faster and never paused at all.

Eventually we saw a number of compilers come onto the market including the very excellent CBASIC that was actually a semi-compiler. It didn't create machine-code but an intermediate code that was both very small and pretty fast. Aimed at the business market it also used BCD maths rather than binary which meant it didn't suffer from the accumulating binary errors that other compilers of the day were prone to.

Even Microsoft eventualliy updated their basic to a more structured variant but by that time the likes of Turbo Pascal had arrived with all the benefits it offered. Faster compiles, a fantastic IDE with great debugging, dynamic overlays and super-efficient executable code combined with the benefit of a highly structured language meant that Turbo Pascal effectively replaced BASIC for a great many programmers on the PC platform.

Of course these days we're just spoilt for choice and there are more programming languages than you can shake a stick at.

Over the course of my lifetime I've programmed (with varying levels of success) in the following: Assembler (2650, 8080, 8085, Z80, X86), BASIC (MBASIC, CBASIC), Pascal (MT+, Turbo), Modula2, Java, Javascript, C, C++, Perl, Python, Kotlin.

Each of these languages has its own strengths and weaknesses but the one which I'll always hold dear to my heart is not BASIC. It's the assembly code of the Signetics 2650 processor that introduced me to microcomputers and their programming. Yeah, I was a *very* early adopter.

Right now I'm cutting quite a bit of code in Python and Kotlin as I polish my ADSB alarm and create another similar device for logging landings at the local airfield. While Python has some loose equivalence to BASIC, building Android apps with Kotlin is a very long way from those early days stuck behind the keyboard of a TRS80 Model 1, typing in a variant of noughts and crosses in BASIC.

Carpe Diem folks!

Please visit the sponsor!
Please visit the sponsor!

PERMALINK to this column

Rank This Aardvark Page


Change Font

Sci-Tech headlines



The EZ Battery Reconditioning scam

Beware The Alternative Energy Scammers

The Great "Run Your Car On Water" Scam


Recent Columns

AI is now on steroids
Yes, it's AI (artificial intelligence) time again...

I bought an espresso machine
I like a coffee... but I'm not dependent on it nor addicted...

Write open source code, go to jail
Believe it or not, writing some computer code and releasing it under an open-source license could result in you spending up to 25 years in jail...

Adobe: All your content belongs to us
Adobe is a software publisher with a number of top-tier titles in its catalog...

Technology to the rescue
A few days ago I wrote about the fact that most Kiwis will have to pay an additional $600 a year...

Gardening pseudo-science
I have long preached that "healthy skepticism" should be a subject taught at all levels throughout the educational system...

Computer gaming is dead
I have to say, I haven't really played computer games since the late 1990s but...

The connectivity vulnerability
As usual, I rolled out of bed at about 1am this morning...

The power
There are two parts to today's column and they both involve power -- but two very different types of power...

I could be arrested
Regular readers will know that I've had my run-ins with the local council on multiple occasions...