I first¹ played a PC game in 1984. It was on an Acorn BBC Micro with 32K of memory! The game was a grand prix arcade style game that I had meticulously copied out from a programming magazine. The code was in BBC BASIC and had numerous data blocks in it. I don’t know what drove me to type out all that code, because it nearly sent me blind, but I guess I enjoyed seeing the results.
The game held my attention for a short while before I got bored, then I began typing out more game code from magazines I’d borrowed from my year eight teacher (Mr. Fielke, if I recall correctly).
Since computers were a new thing back then, the games used to enthrall me. After a while though, I found that the games did not intrigue me as much as the underlying code that drove it. I started modifying bits of code here and there to see how it affected the game, and not before too long I was putting together my own simple games.
One of the first games I made was an adventure game where you could move in one of four directions: North, South, East and West. You could go into rooms and find various treasures, items, objects etc. The game was entirely text based, so you had to use a good deal of imagination to get to where you want to go, but I had more fun putting it together than actually playing it. Thus, began my fascination with programming.
I used to spend hours after school working on my projects and lose track of time altogether (not much has changed in this regard). Eventually after missing dinner a few times, I was grounded indefinitely and thus came to an end my initial forays into programming.
It was not until years later, while in university, was I able to revisit my interests in programming. In first year I was taught GW-BASIC, then later on we dabbled in FORTRAN. I have to say that FORTRAN was not my cup of tea, but BASIC got me interested in what could be done on a 386 SX.
Pretty soon I was spending most of my spare time coding, much to the detriment of my studies. I spent hours in between / after lectures in the computer lab putting together programs in Turbo Basic. In the lab I met like minded kids and we taught ourselves how to program in Assembly. To us at the time, it was next to being the Holy Grail of programming languages. The ultimate language was of course machine code, but you need to be half insane to understand it, let alone write it.

We used to write all kinds of things from TSRs to file managers and demos. My most ambitious project at the time was a text-based windows manager called Terminus².
I had just managed to get my menu system working just the way I wanted, the window management scheme was satifactory, and was optimising the memory management scheme, when a program called Windows 3.11 by Microsoft came out.
To cut a long story short, since the release of Windows, Terminus went terminal and I abstained from programming for another long spell. It wasn’t until relatively recently that I’ve actually taken more than a passing interest in coding again.
Which brings me to the topic of this post.
I can’t remember exactly what it was I was looking for at the time, but I stumbled on some obscure, esoteric programming languages. These languages have been designed for the sole purpose of amusing programmers. Nobody in their right mind would do serious programming using these languages, since they have been specifically designed to be as hard to comprehend as possible, while remaining Turing-complete.
One such programming language that I came across is COW. To quote the COW site:
The COW programming language was designed with the bovine in mind. Given that cows have somewhat limited vocabulary skills, it seemed natural to incorporate only the words they know into the language. As a result, all instructions are some variation on “moo” which just so happens to be the only word they really understand.
And to prove to you that this is actually a programming language, here is some sample code to generate the Fibonacci sequence:
MoO moO MoO mOo MOO OOM MMM moO moO
MMM mOo mOo moO MMM mOo MMM moO moO
MOO MOo mOo MoO moO moo mOo mOo moo
Hmmm…I’m not sure if even a cow would understand that piece of bovine articulation, but apparently it does compute!
¹ I’d played Space Invaders earlier - in 1981, but it was an arcade machine, not on a PC.
² Here is the original source code for Terminus if you are interested. I’ve tried it under a DOS-emulator in Win XP without any ill effects, but you are warned that I will not be held responsible for any damage caused through use of this code. The code was compiled using TASM.