My Computer Journey

My journey through coding languages

My journey through coding languages | Blog

My journey through coding languages

1980s

LOGO (1986-ish)

The first time I encountered programming was somewhere around 1986 when my school introduced us to LOGO. It was a simple educational programming language where we controlled a turtle on the screen. It sparked an early curiosity in computers, though my access to them was limited, I sat at that computer every opportunity I got, sometimes to play strange text based games and sometimes to just poke about and see what else was in that computer.

Hacking Adjacent (1989-ish)

Back then, the computers seemed to change quite frequently. My school had quite a small budget for computer equipment, or maybe they just didn’t have a willing staff, so the total number of computers remained low but there often seemed to be a new one somewhere in the building, Different types, different brands—I can’t really remember the details, I just remember the feeling of walking into a room that I wasn’t normally in and finding one somewhere in there. During a parent’s evening somewhere around 1989, most kids remained at home, but some, usually the ones with a single parent that had no childcare options, they’d be dragged along to the parents evening, often we would be collected and taken to a room that had been set aside for children on the night so that the teachers and parents could talk about us. Things have changed; now, it seems I am very welcome to take my child to parents’ evening and the conversation is less secretive. I suppose, if you want to see change, then the child should be just as aware as the parent. Anyway… whilst in one of these rooms, I switched on the PC. There wasn’t much security to talk of, so I just started working my way through the directories and applications out of innocent curiosity. However, I did accidentally stumble upon some kind of school records and, maybe with less innocence, I wondered what things I might be able to change. As it turned out, I could change quite a lot. I didn’t fully understand what I was doing, but it was a moment that demonstrated how insecure computer systems were back then even if I didn’t necessarily know that at the time.

1990s

BASIC (1990)

Around 1990, I was exposed to BASIC. While I didn’t create anything overly complex, the simplicity of writing programs that impressed adults left a lasting impression on me. By 1994, I owned an Amstrad CPC64 which was quite old by the time I got hold of it, but to me, it was my first personal computer and I felt like I was on top of the world. With that Amstrad CPC64 I extensively explored BASIC, creating hundreds of small programs.

Microsoft Windows (1991)

The arrival of Windows (in my life at least, and probably version 3.0) changed the way I interacted with computers. The graphical interface made exploring systems and files easier, piquing my curiosity further.

College Beginnings (1996)

Whilst we had some computer class time in earlier years, it was a bit hit and miss, it seemed to depend on whether a capable temporary teacher was around—when they visited, we’d get some computer time. Once they left, the computer was just there for us to play with when no one was looking. So my formal education in computing only began around 1996 when I joined a one-year computer course at college. This introduced me to structured programming.

Pascal (1996)

The first programming language we learned in college was Pascal. Its straightforward nature made it accessible and an ideal introduction to structured programming.

Delphi (1997)

We soon transitioned to Delphi, a tool for creating Windows applications. I fondly remember building interactive forms, like a prank app where the “No” button moved whenever someone tried to click it. It felt empowering to create user interfaces.

Visual Basic (1997)

Towards the end of the one-year course, I was introduced to Visual Basic. It opened up new possibilities, especially when combined with databases, as I continued my education in a two-year computer course. In 1998, we focused heavily on building Visual Basic frontends for databases.

HTML & JavaScript (1998)

Around the same time, I built my first webpage for a part-time job. Creating something so accessible and visual rekindled the joy I had felt when programming in BASIC. I also experimented with JavaScript, although, at the time, it was mostly used for silly effects like annoying popups and moving elements around.

COBOL & C (1998)

In my second year of college, we were introduced to COBOL and C. While COBOL felt outdated even then, learning C was exciting, it felt powerful and low-level, opening the door to deeper understanding.

2000s – The Web & Enterprise Era

PHP & Web Development (2000)

The early 2000s saw a boom in web development. I started learning PHP, which made it easy to build dynamic sites. Paired with MySQL, it allowed me to create early database-driven applications.

Java & C++ (2000s)

Whilst at University I was introduced to Java and C++, looking back I don’t know why they introduced such similar languages at basically the same time as it felt quite confusing and whilst C++ felt almost evolutionary to earlier C stuff, the Java stuff just did not sink in, I never really got comfortable with Java and to this day I have a distinct dislike for it.

Somewhere between 2005-2010

I had left university and moved into work, the work I was doing fell under the braod umbrella term of IT but I wasn’t really coding. I did continue to build personal web projects, mostly using PHP as well as some ASP.net stuff, but it was just a hobby and I didn’t put much thought into it after my time at university came to an end.

2010s

Apple iPhone App (2010-ish)

I remember seeing the announcement of the first iPhone and thinking it was out of this world amazing but there was no way I would ever pay that much for a device. I didn’t last long, just a couple of months after launch I had one. I replaced it every couple of generations and when the AppStore was announced I thought of 10 apps I’d like to build. I never actually got round to it until around 2010, maybe 2011. I think I built a couple of learning apps (me learning how to build rather than me building an app to help with learning) and a single app that I liked using Objective-C, but it took me really a long time to get a finished product and none of my ideas felt like they had enough about them to make it worth the effort so I parked that one and moved on…

Python, Perl and Shell Scripts

Whilst my coding had greatly reduced since leaving university I did find still find opportunities to code and I enjoyed it. I spent much of my early career working with Networking devices and Firewalls, I also adopted (and pushed for more) any Linux servers which seemed to be only with my employer under protest as it delivered a tool they needed but they had no in-house skills to maintain it. So when I volunteered to take them on, they were happy to off-load the box to my stack and let me get on with it. Of course I automated everything I could, I used Sheel Scripts, Perl and Python to do anything from server maintenance through polling my network devices for updates through to scripting mass updates to my network devices with a single command from my Linux server. I thoroughly enjoyed this aspect of my role.

Data Science & AI (2018)

I had the great opportunity to work with what turned out to be a successful startup around 2018. They were using Machine Learning to build key parts of the product and I fell in love with the possibilities at the time. It wasn’t in my role description and they definitely didn’t want me to tinker with live data but that didn’t stop me from diving in. I built a number of what would now be considered simple Machine Learning models with Python and TensorFlow. I really found some passion that I had been missing and actually this passion at the time drove my return to personal blogging as I’d dropped my personal web projects a few years earlier. Now this passion does seem to have ups and downs, but mostly because I have a young family now and so I no longer just need to find time for my day job, but also my family, and both of those come before any personal projects.

2020s – Data Science

Making Data look beautiful, well different at least

I actually did a Data Science course somewhere around 2021, I learned several tools and techniques for looking at data, exploiting that data and producing visualisations. I enjoyed the course, I really enjoy working with data and especially producing the visualisations, but mostly I enjoyed working with Python.

Return to the web

For the last few years I have been working with things like React, Next, Vue and of course PHP and Laravel. I thoroughly enjoy working with PHP Laravel, the JavaScript Frameworks are okay and all, but I can just generally take something from idea to build quicker with PHP than I can with JavaScript stuff.

Dart & Flutter

I have long admired the idea behind Flutter, that build once, use anywhere kind of idea (that also exists in Java (yuk) and something like c# I suppose) but I have struggled with it. Especially building mobile apps using Flutter. The one thing I would say here is that as I flip between Android and iPhone every few years, I have loved being able to build .apk files using flutter and installing them to my Pixel (at the moment) without needing an AppStore account etc.

Swift

I’ve also buult a few things with Swift, though mostly internal apps and in most cases it would be modification of existing code. Again, I don’t like it. It seems I am not well suited for mobile app development…

C#

I recently started learning C#, I will say that it is enjoyable at the beginning, but I am not sure how long I’ll stick to it, I like the new factor to it (new for me) but I am frustrated that it takes me so much longer to build something than if I used PHP for example.

Reflections

Looking back, my journey through programming has been shaped by curiosity and a love for building things. From simple beginnings with LOGO to creating modern applications in the cloud, each step has contributed to my understanding of computers and programming.

However I probably haven’t ever really stuck with anything long enough to be a master at it. That said I think remembering syntax is far less important than being able to take a problem and break it down into little chunks that you can actually target. In fact I would say that is the core skill, if I understand the problem well-enough then the language doesn’t matter (mostly) as I can search my way to the answer.