Saturday, 19 May 2007

Programming - early days

I remember when programming used to be fun. And I mean real fun. It was fun on all levels. It was fun doing it. It was fun being at work. The machines themselves were fun. People look back on those days now - those who didn't do it I mean, and think "how primitive","how dreadful". Only one compilation a day. Coding with pencils. Good grief. And yet it was real fun. The only way in which I can get across to those of you who weren't there how much fun it was, is by comparing it with doing Sudoku. Now, I'm not a great Sudoku fan actually - too much like work for me. But the elements are there. Problems of sometimes fiendish complexity which can be resolved using a limited set of logical operations. For those of you addicted to Sudoku that's what we early programmers were like -addicted to coding. It didn't matter that we only got one compilation a day, because we were coding in our heads all the time. When we wrote assembler, we were encouraged to write it as tightly and as efficiently as possible. We used to compare our solutions and if a particularly respected programmer claimed to have found a minimal piece of code - "I've got it down to seventeen instructions, and that's it" - we'd all start madly trying to get it down to sixteen or fifteen, or even come up with a completely new way of doing it that only took ten.

Nowadays there are so many different technologies that very few people become masters of any of them. We are all rather unsatisfactory Jacks of All Trades. And if you do become master of one - as some of us did with Delphi, you can never be quite sure that it won't become obsolete overnight, as Delphi more or less did. In those day we weren't thinking about the future, and everything there was to know about the machine I worked on was contained in less than a dozen sturdy manuals. The language I wrote was PLAN - a 24 bit word assembler, which had about 120 instructions, although generally we probably used 60 or so day to day. The other brilliant thing about those days was that we only wrote programs - admittedly on "coding sheets", but once they were written, off they went to the "punch girls" who would turn them into packs of cards. While that was going on, we would either be doing more coding, debugging last nights stuff, or intellectualising.

No typing, no staring at screens, no installing software updates. You've heard about how dreadful it was to work on a mainframe? Complete rubbish. The machine was someone else's responsibility - it either worked, or it didn't. If it went down in a hardware sense, it went down for everyone - you all got an instant teabreak and went off to socialise - if your software began to behave in a weird way, so did everyone's. No isolation, no bizarre quirks, no software that worked in one environment and not in another. And if your working environment went awry it was someone else's job to fix it. Actually, much the same applied to writing "c" on minis running unix- in fact right up to the advent of the Windows based PC in the late 80s, computing was fun.

There's some stuff about PLAN here, www.fridaycs.com/icl1900/ocode.html

1 comment:

Anonymous said...

Hi Jim

As Blur said, “Modern Life is Rubbish”, but you are right – programming could be fun in the old mainframe days. Now I don’t go back as far as you (indeed, who does?) but I do remember the old ‘one compile a day if you’re lucky’ days, and the good thing about them was that you had to be good at your job – I mean really good – because one slip up and you had had your one compilation for the day and had to wait 24 hours for the next one. Programmers who haven’t been through those days won’t be able to imagine the incredible degree of accuracy that you had to get in your work – can you imagine – one misplaced full stop, one character in column 11 rather than 12, and a whole day’s work was wasted?

You also had to be something of a diplomat in those days, as you had to negotiate with loads of different people to get a change to a program done – you’d have to be nice to the database team, the TP team, the coding ladies, and of course, you had to be in with the dreaded operators. The Ops, as they were known, had the real power in the installation – they controlled all the minutiae of the day-to-day running of the machine, and if they didn’t like you they could do things like make you wait for half an hour for a tape to be loaded, or accidentally drop your pack of carefully coded cards and shuffle them in a random order so that your compilation had no chance of working – there were some nice operators, but some of them were bloody-minded b**tards who would make good traffic wardens or concentration camp guards!

The best thing about the old days though, was the characters you worked with. Computer programming in those days seemed to be a magnet for unusual people – something to do with poring for hours over arcane computer code looking for misplaced full stops – you had to check your work and then check it again – then check it again and maybe get someone else to do it as well – you certainly weren’t at home to Mister Cock-up in those days. You came across more than your share of damaged people who couldn’t hack it – alcoholics etc., and these were often the most fun.

I’m probably looking at the past through rose-tinted spectacles, but programming did seem to be better then.

Rob Jones