Thursday, December 06, 2018

Scale discrepancies

In the summer of 1977 I decided to leave teaching. I had spent a couple of years at Ormonde High School (now Maghull High School), an ex-secondary modern in Maghull, Liverpool teaching maths to the 11-16 year olds. I think it would be fair to say that my students were at the lower end of the ability range. I was burnt out and exhausted.

At that time computers were entering practical use in industry and there was an increasing need for programmers. The Government set up the so-called TOPS courses (Training Opportunities Scheme), which subsidised people changing career. I passed the tests and started a 20 week course to learn COBOL programming with KBS Computer Services in Dale Street, Liverpool. The class was told the course would be really intensive, seven day working , evenings thrown in, partners expected to be abandoned for the duration.

I was in competition with a guy named Paul. He was intuitive, writing code festooned with GOTO statements. I was more organised, knew that GOTO was considered harmful and taught myself structured programming. We were both taken on by KBS at the end of the course.




One module was IBM S/360 assembly programming. I recall working on a program with maybe a hundred or so instructions - load this register, add packed, and so on. I thought: 'It's taking me an hour or more to get this code right, yet when it executes it will take 100 microseconds'.

I found that scale discrepancy rather disquieting. It's true of every program but in assembler it's somehow more visceral.

---

We ran our programs on punch cards through the IBM 360 owned by the Merseyside Docks and Harbour Company. The machine was on the top floor of the Liver Building at Liverpool Pier Head, and we'd go in the evening when the machine was not in regular use.

Access was easy. It wouldn't work today. I once took Clare (who I was 'going out with' at the time) to see the unimpressive sight of those big blue cabinets and the dinner plate sized removable disk drives (20 Megabytes). She does not recall an epiphany.

4 comments:

  1. Don't these scale dependencies, particularly when peripherals are included, require the introduction of temporal constraints and reasoning (including reasoning about asynchrony) in understanding programs? Although some formalisms were developed, the STL software engineering projects (especially those run from Europe!) did not include any temporal aspects. A weakness that was never resolved (or even explained).

    ReplyDelete
  2. Interesting to consider the weakest constraints for an adequate temporal model. Temporal (modal) logic doesn't require or induce a metric, just a partial order. It struggles, IIRC, with asynchronous concurrency.

    ReplyDelete
  3. I was on the KBS Cobol course in Cardiff in '79.
    We were all told that if it hadnt been the first course they were holding in Cardiff, we'd have all failed.
    Did alright out of it though ... especially come Y2K :-)

    ReplyDelete
  4. KBS had a very motivational culture! :)

    ReplyDelete

Comments are moderated. Keep it polite and no gratuitous links to your business website - we're not a billboard here.