Log in

No account? Create an account
Gavin Greig [userpic]

Software Development Meme

July 14th, 2008 (11:40 pm)
current location: KY16 8SX

I saw this meme on John Robbins' blog, and thought it would be worth setting it on its way over here. No, I certainly wasn't tagged by John, who wouldn't know me if he met me in his soup.

How old were you when you first started programming?
I think of it as being when I was 23. There was occasional dabbling before that: I typed in a program listing that didn't work on a Sinclair ZX81 at school, I took the Computer Science module in my first year at St. Andrew's, and in my Junior or Senior Honours year (I can't remember which), I did the lab that required you to write a Basic program to control a stepper motor. But I didn't really consider programming as something that I might want to do, or even a career, until I'd graduated with a degree in Physics and Electronics that I knew I didn't want to use. Then...
How did you get started in programming?
Fortuitously, I heard that sharikkamur had signed up for a conversion (to Computer Science) M.Sc. at the University of Dundee, and the more I thought about it, the more I realised that the parts of my course that I'd enjoyed were the more logical bits (no pun intended). I signed up for that course too, and enjoyed it thoroughly.
What was your first language?
Well, that program listing that didn't work was Basic, but the first language that I used to write a working program, and that I debugged through, was S-Algol, the teaching language used at St. Andrews (and pretty much nowhere else). If I ever need An Introduction To Programming With S-Algol again, I can still dig it out of the cupboard!
What was the first real program you wrote?
I remember the stepper motor program from my Honours lab, because it didn't just work, it had a physically observable result, and that was real, in a sense, for me. I think it's probably more reasonable, though, to say that the first "real" program I wrote would be the first one that was used (and further developed) by other people. In that case, my first real program was GraPHIGS1, a 3D object viewer that I wrote for my M.Sc. dissertation. It was written in C, using the PHIGS+ libraries, and ran on Sun micros. It was used for viewing the results of mathematical research into modelling three-dimensional surfaces. My program also went out of use when OpenGL, which was lower-level but more powerful, overtook PHIGS as "the" way to do 3D graphics.
What languages have you used since you started programming?
Basic, S-Algol, Pascal, C, MUMPS, C++, C#. If you count more specialised languages I've occasionally turned to, you could add VBScript, MSBuild, NAnt, Javascript and XSLT.
What was your first professional programming gig?
I worked for the South Western Regional Health Authority, in Bristol, supporting the National Breast Screening System (BSS2). This program was written in MUMPS and ran on a PDP-11. I think ours was a PDP-11/83. The BSS program was written elsewhere (Cambridge, I think), but "supporting" it meant writing custom code to handle aspects that weren't covered by the main program as well as answering phones if something went wrong in the breast screening centres.
If you knew then what you know now, would you have started programming?
Yes. Every job has its down sides, but on a good day, I still get to use my brain constructively, and what could be better than that?
If there is one thing you learned along the way that you could tell new developers, what would it be?
Only one thing? OK. Write code the way you would like libraries to be; tidy, well compartmentalised, communicative and well documented. You may have to come along and clean it up when you've forgotten everything about it. Even if you don't, someone else will, and she might be your boss some day. Oh, and avoid MUMPS, and avoid noisy, open-plan offices. What d'you mean, that's three things?
What's the most fun you've ever had programming?
I think it would have to be working on my 3D viewer, GraPHIGS. Looking back, it wasn't so ground-breaking, but at the time, 3D graphics with shading seemed pretty high tech, and I was able to get visible, pretty and useful results within a year of starting to learn to program. That was a lot of fun.
So who's next?
I think I'll extend this to include web developers, since most of the questions will still apply and at the very least they're likely to have touched on Javascript if you want to be purist about what constitutes "programming". With that in mind, I tag sharikkamur, qidane, tobyaw, very_true_thing and huskyteer.
  1. A quick Google informs me that I wasn't the only one to come up with this name - so far as I know, none of the 6000 or so hits refer to my GraPHIGS.
  2. It seems likely that some of the application I worked on lives on. Although a news story in the Health Insider talks of integrating several systems, I note that the underlying technology is Intersystems Caché: a database technology that I happen to know still has MUMPS at its core.