Learning to Program

I learned programming originally, I think, on an Apple //. We had some of these at my primary school, and I clearly remember doing something like programming, even if it was only Logo, in class time. Or perhaps it wasn’t in class time, but at lunch and recess. I had a C=128 at home, and did lots of programming in Commodore Basic, most notably the more advanced basic that they shipped with the 128. Very little of the stuff was to do with peeks and pokes, but there was a little of this more assembly-level stuff.

At high school we did some programming, I think, on the BBC micros. I’ll have to check with the two guys I still keep in contact with, on WoW of all places, but I remember doing some programming on the machines at my first high school.

When I went away to boarding school I ‘moved on’ from computer programming in some senses, and went more into the hard sciences and mathematics. I think a big part of this was me not having any respect for (a) the machines we were forced to use in IT, and (b) the teacher we had for IT, who we also had for Religious Education. (!)

In actuality, I failed year 10 IT. Not because it was hard, but because it was easy. I did all of the work, and then gave it to the girls I fancied to hand in. (Hi Catie, Moose and co!) This wasn’t programming at all, but using computer applications. The stuff that is really boring. Learning how to use Excel, Word and the like. And, note, this was pre-windows.

During this phase, I was into Amiga. I didn’t actually have one, I still only had the C128D, I think. We had a choice between the BBC micros and the dodgy XT PCs. Both of which were limited to monochrome screens. I was, in the boarding house, barely living with the glory (!) of 256 colours, while my friends at home were basking in 4096 colours. And at school, the dull orange on black of the PCs.

I think I got an Amiga 500 while I was still at school. It was awesome, and I loved it. Games were much better on it, and it had a real windowed operating system, that actually multitasked better back then with a slow CPU and 512k of memory than the much more powerful machines in my lab pool do with Windows XP.

My learning of different computer programming languages began in earnest when I started University. Finally, I had proper instruction in several languages, and I was first forced to learn Pascal. We were taught using Turbo Pascal on the PC lab at Uni, but I think I downloaded and installed a pascal compiler on the VAX/VMS terminals we also had access to, but everyone only used for email. I used them for reading usenet, and learning how to push the limits of what the sysadmins allowed us to do.

Second semester of Uni was better - we did C. Finally, a real language. Again, Borland was the platform of choice, but I was different. As well as using the VAX/VMS machines, I managed to get myself an account on the Unix server, lux. I didn’t bother attending lectures (the room wasn’t large enough for all of the students, the lecturer wasn’t a good communicator), and I got enough out of the tutorials.

I submitted all of my work to the tutor via email, and obtained, IIRC, 97% for the subject. I think he was impressed that the rest of the drones were using Turbo C, and I was doing it the real way.

All of this coding was done without a windowing environment. Even though I had a lux account, I wasn’t allowed to actually go into the lab that had the X-Windows terminals in it. I did spend a bit of time in at Adelaide Uni, and got some exposure to X-Windows there, but not much.

Third semester, and things started to go a bit shaky for me. The programming subject was called “Data Structures in Pascal”, and I must say I wasn’t so keen on diving back into this toy language. I got hold of the C++ books for the second semester, and started teaching myself a bit of this.

However, all good things come to a close, and with my rather poor performance overall, I was forced to choose something else to do.

After a couple of years, I came across python. I don’t think it was even while I was still at Uni - I think it was something I picked up on my own while teaching. I do remember printing out all of the 1.5.2 documentation (I think I still have it in a filing cabinet somewhere). I may have started while at Uni in my Education degree, I can’t recall.