After taking a look at a number of potential cross-platform solutions for my future larger-scale development plans, I was hit by a wave of nostalgia which has me thinking about my programming journey. What I find most interesting is that there is a noticeable trend which may just be starting to reverse itself, but first, lets start the journey at the beginning.
When I was a kid, I first got my exposure to the concept of computers from telly. Saturday mornings had re-runs of TV shows such as Star Trek and the likes. My cousin Mikey had an Atari 2600 a couple of years after they came out and eventually my parents got me one. I eventually got the brilliant idea that if I got a computer instead of a game machine I could create my own games that would be better than anything my cousin could buy for his 2600 so I tried to convince my parents that purchasing a computer would be a good educational opportunity.
To cut the story short, a few years later I managed to get a Commodore 64 with a tape drive that I was able to hook up to an old small color television set. The language I started learning was BASIC. As it turns out, the Commodore 64 was great for games and could easily blow away anything the 2600 was capable of (due to the rather limited hardware of the 2600) but it also turned out that creating games was not easy. Still, thanks to these UK magazines I found as well as books like 101 BASIC Games (which I got from the Shepparton library), I was able to learn a lot about how to create simple games. The big thing I learned, however, was BASIC was just too slow. Reading the programmer reference manual hinted at the solution to my speed problem. Something called Assembly Language.
The Commodore 64 used a RISC-like processor known as the 6510 so my first entry into the world of assembly language was the 65xx dialect. I started dabbling in this around 15 years old and I loved assembly language as it was so much faster than BASIC though was still not fast enough for what I wanted to do and required a lot more work than BASIC. As many programmers at that time did, I compromised by taking advantage of a 4K block of memory located at $C000 (49152) to store small assembly language routines that could be called from BASIC.
So when I reached high school, our school was a test-bed for a new computer known as the Macintosh which we were programming using a structured programming language known as Pascal. BASIC was no longer part of the curriculum, and thanks to Mr McGuire, this was probably the best thing that could have happened as if nothing else, it taught me the evils of spaghetti code and taught me how to better structure my programs.
When the Amiga 500 came out, I was able to play with part of a bundle that included a huge suite of software including Deluxe Paint 2. My cousin had a copy of Latice C. This lead me to discovering the C programming language which my Computer Science teacher did not care much for as I would constantly tell him that it was way better than Pascal as it had all the structure plus was much closer to assembly language. In fact my compiler had an option to compile to assembly language so you could write the program in C and then fine tune the resulting code.
In uni my language repertoire was increased and my machine started having random reset problems. As our computer science lab used IBM based machines anyway, I bought one running DOS 6 and Windows 95. When Visual C++ came out, I switched from C to C++.
The big thing that happened in the mid nineties was something called the internet. As I was living in a small town, it was hard to get internet access but thankfully the I was able to get online (30 hours a month). I was disappointed by how limited browsers were but in 1996 Java came out. I was doing TAFE at the time and I first thought the language was enough like C/C++ that I had no problems using the language and had the huge advantage that it would allow you to create programs that could run on a web page without requiring the user to download any type of plug-in or perform some type of installation which I felt would turn away most average users.
For various reasons, Java never worked out quite the way I had hoped, and still doesn’t even with so many versions. This was largely due to Microsoft wanting an incompatible version of Java to run on their machines which effectively ended up causing Java to stagnate on the browser. For the best compatibility, Java developers essentially had to stick with Java 1.1 instead of being able to take advantage of the new features available to server side developers. This is when an animation tool called Flash added a scripting language known as ActionScript so I started experimenting with Flash. I have now been playing with ActionScript now for at least 15 years.