ZX81 to Windows 8.1: A Coder's Tale

Now I’m no JRR Tolkien, and I’m certainly NOT characterising developers as Hobbits…

…Everyone knows developers are Wizards.

(Sidenote: I once got into trouble with the RPG community by calling Gandalf an Elf, and I’ve learnt my lesson!)

However, this is a tale of some of the technologies I have used over the years, and how some things have seemingly progressed, but yet, in a paradox, ocassionally come full circle.

Our story begins…

With the season of giving gifts.  It was 1984, and I was about 8. My Dad had been involved in computers as an aside to his core job role in the building industry, and that Christmas he decided to buy the family a new personal computer.

There weren’t a lot of cheap options, but the one that sprung out was the ZX81.  This computer was what set me off on the completely unexpected journey into the world of software development.

The ZX81 was released around 1981, and it’s a bit of a paradox with the Raspberry Pi that came out a few years ago. With a whopping 1KB of on board memory (which could be upgraded by a 16KB pack), the ZX81, for me, started the home computer experience.

It was aimed at the home market so it, naturally, hooked up to a TV.  You could see your applications, or code, being displayed on the big screen.

Well…when I say big, I mean CRT (Cathode Ray Tube) big, but it was the start of the original curved TV experience which is now coming back 🙂

OK, it wasn’t in colour (Visual Studio did however go back to mono chrome in VS2012), but you got to code up stuff, and load apps from the external storage of the 80s equivalent of the Cassette Recorder.

And just like the Cloud, if you knocked the table and broke the connection, you’d have no access to your storage. The need for strong connectivity goes back decades, but it’s never been more important than now.

Obviously now you can use Microsoft’s SkyDrive, Visual Studio Online with Windows Azure, or a private Cloud with Windows Server 2012 R2, Visual Studio 2013 and TFS 2013 to have local and remote copies of your data, and continue coding up Donkey Kong… in 64-Bits as it was destined to be!

A bit of the Alan Sugars

A couple of years later, and being the home technologist and cost conscious small business user that my Dad is, he decided to upgrade to the Amstrad CPC 6128.

The thing with this bad boy was that it had a floppy disk! No more waiting 60 minutes for apps to load.

Obviously that had an impact on the amount of time I spent avoiding my homework (totally worth it by the way)

The language built into the Amstrad was BASIC, it had a simple database, and it was at this time that every young person reaches the point in life when they have to choose…

…Whether to help your parents with the cleaning, or help them to do the Invoicing for the VAT Return?!

Of course I did end up doing both in the end.

It wasn’t as bad as it sounds.  The invoicing for the VAT Return was just a simple database program that my Dad and I customised a bit, entered in the details of the invoices, and produced various summaries that were sent over to the accountant.

The paradox now is that we don’t have to rely on simple database packages.  With the right installation and training of Sage 200 or Microsoft Dynamics NAV 2013 R2 for example, they can still be as simple to operate.

The thing with this era, as Darren Rafferty (Birmingham Office) mentioned when he was in the Loughborough Office the other day, was that you had two people coding. One person typing away, and the other person reading out what to type.

You collaborated to reach a functionally working end goal, and both people knew what the app was supposed to do and how the code was made up.

The paradox of 2014 is that in the R&D department at TSG, we call this pair programming.  It means that we can share the mental wizardry of how to achieve a customer’s goal, whilst reducing costs at the same time.  And multiple developers can pick up a project for business continuity.

The final part of this unexpected journey?

Well in true Bruce Lee, 5 Fingers of Death platform game style, it’s time to ‘Enter the PC’.

I was at university when my Dad bought a 486 with 4mb of RAM / 250mb hard drive.  It was a very handy PC, although not in a portable way!

And so the beige beasts roamed the earth… (If you haven’t read that with Richard Burton’s voice in your head, then you haven’t listened to Jeff Wayne’s War of the Worlds and therefore need to!)

The software language of choice at the time was Visual Basic 3.  We did have other languages but VB3, among other things, abstracted some of the complexity of the Windows API for creating the GUI (Graphical User Interface).  And so, as my Dad asked me if I could write a VAT Return program for him to use, that was the language that came to mind.

Of course I used my initiative and looked around before reinventing the wheel.  I found QuickBooks which, thankfully, at the time we started to use it, offered double-entry book keeping.

After I left University and started work, I progressed from Visual Basic to Java which then saw Microsoft produce .NET and Visual Studio, as we see it today.  The paradox here is that the fundamentals of software development are very similar and the environment we use has evolved.   But it still has the comfort blanket that all application users are used.

The new era

So, as I was recalling the earlier memory I have of the season of giving gifts, for Christmas this year I decided to buy my Dad a new laptop, and introduce him to Windows 8.1.

I’ve not written any apps for him as yet (he’s retired now and can handle an Office 365 / Excel 2013 workbook like it’s child’s play) but I’m sure he will eventually find something for me to write!

The pace of change within the technology industry has increased rapidly recently, and Windows 8.1 is far from a paradox with the ZX81 that started me off on the software development journey.

Now we can write Windows Store Apps which makes it a lot easier for users to obtain applications, and it’s a long way away from buying applications on cassette tape, or the days of coding in an application from a magazine!

So that’s my story of how I progressed with various technologies over the years; I would be really interested to hear of any stories you have.