So many of us in the IT/Cloud/Tech space started out with a Spectrum, a Commodore, or BBC computer. Even Marc Benioff started off writing games for Atari, so we are in good company. So thank you to those early pioneers, those we now call Trailblazers. People such as Sir Clive Sinclair, who sadly passed away yesterday.
The ZX Spectrum is an 8-bit personal home computer which was released in the UK in the early 1980s. It was one of the first mainstream home computers and captured many a child’s attention.
I was recently visiting my parents house and happened to have brought my messenger bag that is styled to look like a ZX Spectrum. Upon seeing it my Dad went away and rummaged around upstairs, surprising me with the original ZX Spectrum he bought me many years ago to match.
It is the 48k ZX Spectrum that my father came home with in 1984.
For those reading this of a younger vintage, the 48k stands for the 48 KB of RAM available to the entire computer, to give some perspective the first iPhone launched with 128 MB of RAM, or 131072 KB!
Impressionable 8 year old me was soon bored of the three games that came with it and found out that by typing the programs in the manual, I could create my own games, and even better I could make the machine call my brothers names repeatedly with just 2 lines of code and a run command.
More books were brought and magazines collected to allow my new found hobby to grow.
Instead of Stack Overflow and Trailhead, techniques and code were shared by the Spectrum Community in magazines and were typed in over many hours, in the hopes that the typo gods were kind, they often were not.
A programmer was born, and like me thousands of children in the UK cut their teeth in development this way. Although I could not appreciate it at the time, lessons learned then still impact my work today.
This is the first program that I copied from the manual.
Chapter 3 of the manual available here.
I agree it is very rudimentary and at first glance, does not appear to be related to how we should be coding today, but in only 7 lines of code we are covering the following.
10 REM Guess the number
Tells us clearly what the code is doing
20 INPUT a: CLS
Tells us that a number that is entered is going to be stored in the variable ‘a’ (storage was a valuable resource and was not spent on meaningful variable names back then)
CLS just clears the screen to ensure that the guessing player can not see it.
30 INPUT “Guess the Number”, b
Is requesting data from the user and storing that value into variable ‘b’ for testing.
40 IF b=a THEN PRINT “That is correct”: STOP
50 IF b<a THEN PRINT “That is too small, try again”
60 IF b>a THEN PRINT “That is too big, try again”
Here we are testing if the value stored in variable b is equal to , less than or more than a, and then displaying feedback to the user, as well as stopping the program if the correct value has been entered.
70 GO TO 30
This completes the code by telling the program to go to line 30 and request a new number.
This sort of loop is not available in salesforce, but the understanding of code coming back to a starting position is still relevant.
Today the Raspberry Pi is the only computer that I can think of that fills this void, and the power of the machines and instant avenue of help available via the internet has changed the way people learn to code.
Thank you to those Trailblazers, and the fond memories they gave us!