- How did you get into programming? Are you now getting started?
- Which languages have you learned? Which do you still use?
- Where would you like to go with your coding?
A conversation on social media sparked this idea, I thought it would be interesting for the Retro Game Coders community to share how you got into programming and your journey from starting out to what you do now?
Please share your own journey either in the comments or on your own blog because I think it would be a cool way to get to know each other and grow our community!
My programming journey starts around the age of 8 or 9 …
Vic 20 / Commodore BASIC
My first experience of any computer programming was when my cousins bought a computer and we got to play on it during a visit. It was probably Easter 1983.
Above you can see us – my brother, Jay, cousin Ian and me on the right feeding my bacon sandwich to our dog, Patch.
Christmas 1983 or thereabouts, my parents somehow get us (my brother and I) our own Commodore Vic 20. Even then I knew they couldn’t really afford such an expensive machine so it was shocking seeing that bad boy Christmas morning.
In the box was the Vic 20 computer and a tape recorder, and several starter tapes including an introduction to BASIC. I was hooked to the point where my parents would get mad at me for how much time I was spending on the thing.
This machine taught me so much, and even away from the computer I would be filling pages of graph paper with my user-defined character binary drawings and maps/levels.
Even though my cousin upgraded to the Commodore 64, and I was of course super jealous, the Vic 20 to this day has a special place in my heart. So much so that I own a couple of them in my collection!
My junior school acquired a BBC microcomputer as part of a national initiative run by the BBC called the Domesday Project. This was to involve thousands of kids throughout the country inputting data about their local area to be compiled into laser disks.
While I didn’t get to see the finished result at the time, I did get to see some of it years later. The main thing for me was the school got a BBC and I got to spend a little time on it.
BBC BASIC was frustratingly similar and different to what I had been learning on the Vic 20, but even then I could tell it was a more powerful machine and version of the language.
BBC BASIC is still going strong, with a beautifully implemented version that you can use today on your modern computer and even an amazing browser-based implementation or check out BBC BASIC running in tweets.
LOGO on the Speccy
In addition to the BBC, our school had a Sinclair ZX Spectrum 48k. As well as games of Jetpac and Jet Set Willy, this computer had a role in teaching us a version of Turtle Graphics called LOGO.
If you are unfamiliar with this kind of programming, the idea is to use simple commands such as forward, right, left, etc to tell a “Turtle” where/how to move, and in the process draw pictures.
Between the Vic 20 and the Atari ST, we had a Sinclair Spectrum 128 +2. Of course, I used BASIC, but I also tried to learn Z80 assembler on this machine and pretty much failed to produce anything useful.
Anyone who was around at the time will remember typing in games from computer magazines and books.
Some of these games got pretty sophisticated and included some “machine code” for elements that required speed.
It inspired me to learn assembly programming so I bought a tape from the Micro Fun computer games store in town. When I got the tape home I discovered it was pretty sketchy – the software had been written over an existing tape with a new label applied, and the documentation was photocopied.
The assembler did work, and had some sprite-building tools, etc, but had none of the quality-of-life stuff you would associate with a useful (not even particularly modern) macro assembler, and swapping tapes between assembly and testing just added to the frustration.
Of course, in the last few years, I returned to both the 6502 and Z80 assembly languages and found everything so much easier.
A bad craftsperson blames their tools but sometimes the tools do make a difference.
STOS / 68000 Assembler
My buddy John got massively into 68000 assembly programming but I couldn’t deal with the way graphics worked, so I languished. Fortunately, STOS, being based on BASIC, allowed me to make demos and games.
STOS and the Atari ST rejuvenated my interest in programming. As soon as my brother started earning a proper wage, he bought an Atari 520 STFM (for games but also the MIDI port opened up some potential music avenues for him). I loved that computer.
What many people in North America don’t realize is how out of reach the Amiga was to most of us in the north of England. Financially, the ST was a reach, about one month’s rent, and the Amiga was 25% or so more.
This meant most people locally owned the ST over the Amiga. Even though the Amiga had the better specs, it was too pricey until much later when the 16-bit wars had worn the prices much, much further down.
At the time my brother got his ST, it was the equivalent of £1,000 today.
When it came time to graduate from high school, I did the math and realized there was no way my family could afford for me to go to university, especially as my “career counselors” were telling me I was going to fail my exams miserably. I ended up doing admin work at the local hospitals and doing a night class for COBOL programming.
It was surprisingly useful in terms of programming concepts, including being forced to use Vi, ha. I think about the things I learned in that course, such as Jackson Structures, every time I create batch-style reports.
I didn’t do a lot of MUMPS programming but it tickles me that the main computer programming done at the hospitals was an operating system and language called MUMPS.
We ran our stuff using PDP/VAX/DEC mini servers and VT220 etc terminals, and it was wonderfully cyberpunk but woefully bad for my resume outside of healthcare.
DBase and DataEase
For a good couple of years I was only able to get short-term contracts, and it was usually around tactical database stuff, so a lot of DBase and DataEase. Occasionally we compiled the DBase code with a tool called Clipper.
Today a lot of the stuff I did back then would be probably done by someone using (abusing) Excel or a Python script.
Turbo/Borland C and Oracle SQL
After my COBOL night class, I did a couple of years B-Tec Diploma in Computing. We did a bunch of interesting stuff, such as C and Oracle. At the time it didn’t help me career-wise, but looking back it was valuable stuff. I still do a bunch of C and C++ programming, but Oracle not so much!
DOS Batch Files and X86 Assembler
As soon as I started earning some income I had to get a PC if I was going to have any kind of career. I bought a 286 with 40mb hard drive but mono monitor over the smaller hard drive and colour. On this machine, I learned a whole lot, but probably the most immediately useful was going super deep into DOS (of course) and X86 assembler.
Having missed out on university, I tried to see if I could get a degree in my spare time. It worked out too much financial and time commitment but I did enjoy the one year I managed which, as well as general computer science concepts taught us the SmallTalk OG object-oriented language.
One of my roles at the community college where I worked after my stint in the NHS was administering the Unix servers. This meant learning a lot of BASH scripting, which I very much nerded out on. I loved how so much of the Unix experience could be intermediated with shell scripts, from rebooting locked-up terminal sessions to managing print queues.
Delphi / Pascal / Visual Basic
A friend and college colleague was a huge advocate of Delphi, having learned Pascal at University. I gave it a go but it didn’t fully gel with me, so despite the intense mockery I suffered, I stuck with Visual Basic for DOS and Windows.
Web Development Career
Following my time at the college in IT and sysadmin I moved on to dedicating myself to the internet. I had an amazing stroke of luck when the college wanted to connect to the UK academic network and nobody else stepped up. That meant my tiny knowledge of bulletin boards, TCP/IP and modems was suddenly stretched to breaking point, creating essentially a private ISP, web host, intranet, and email service!
Active Server Pages
Knowing Visual Basic gave me an advantage when Microsoft ASP came along. In fact, I was early enough with ASP that I got published in magazines writing about it:
When Microsoft smelled the Java brewing they released .NET and C#. I threw myself into it and had the opportunity to co-write a couple of books, ending up with me getting a Microsoft MVP award, which mostly meant I got a bunch of merch and training clients took me more seriously!
What I use today
My day job for a while was working for a company that is big in the WordPress space, so PHP/MySQL/React played a huge part. For anything automation or my side projects it tends to be Python.
In late 2023 I refreshed my memory of C# and Java, learned Go and Kotlin, and in 2024 I plan to do at least one Rust project soon.
Of course that doesn’t include my retro game stuff, which of course involves BASIC, has lately been mostly TRSE, C, and Assembler, but you will also have seen my writing about QB64 and AOZ.Studio – it’s really cool how much knowledge we can instantly access nowadays unlike the old days when I would have to buy huge telephone directory-sized books that cost a week’s wages!