Sunday, 14 February 2010

"How would we have done that in Cobol?"

Years ago I used to earn my living as a Cobol programmer. At one stage I even met Grace Hopper. Things have moved on a long way since then, but the lessons that I learned in the early days have sometimes kept me grounded in an industry that (shall we say) has a bias towards optimism.

Rob Bryden has said that "with any moral dilemma I always ask myself, what would Rod Stewart do?". Well, when I'm trying to understand some new piece of software I can't help wondering "how would we have done that in Cobol?". In the past it wasn't such a bad place to start, but there are things going on now that go well beyond the point where my simple test breaks down. I'm not sure that knowledge of Cobol would help a lot with understanding how they do this stuff, and I doubt if Rod Stewart is going to be much help either. But on the other hand, how well would this clever stuff handle a general ledger?

(thanks to Mapperz, and others for the link)


Chris Hill said...

I don't miss the long-winded code that was a Cobol program. I do, however, still use the design and testing principals that I learnt at the same time as I learnt Cobol. Who would miss editing code by creating punched cards, only one compile for each program per night and one test run per night for each program, but all this meant designs were on paper first - changing a real program was a long process.

I started reading and writing files on tape drives. Later we used Cobol to create screen-based systems, use indexed files and databases and even a crude GUI on a PC (which was plain stupid).

I have written code in about 20 languages over the years, most have earned me a crust at some time in my career. I don't hanker for Cobol, just for the sensible design and testing processes that went with that era.

gom1 said...

A blast from the past there. We too used to design and specify on paper, then write onto coding pads.

They were sent off to the punch room (which was staffed by dozens of terrifying young women), and arrived back a couple of days later on 80 column cards.

Once we had loaded them onto the system we could edit our work on teletypes, and turn a compile / test round in about an hour or so. That would be in the mid-seventies. It was still a cumbersome process.

For the first couple of years it was all batch processing on tapes, (or at least sequential disk files), but we too moved onto indexed files then proper databases (Codasyl) and online systems.

I can't match your 20 languages, but adding mine up, at different times I've had a working knowledge of Algol, Fortran, Cobol, Assembler, Basic, APL, Awk, Perl, C, C++, PHP, and Prolog. I tried to master Lisp but never got very far.

If I can count HTML, SQL, and my struggles with Javascript the number goes up a bit. I might be missing a few, but I can't bring them to mind.

Cobol and assembler are the only ones that I can really claim to have used professionally. The others are a mix of playing and hacking stuff that is useful for work, but not really what I am paid to do.

I don't hanker after Cobol either , but it was a good living at the time, and somewhere I still have the "nanosecond" that Grace Hopper gave me (a piece of wire about six inches long, that as I recall is supposed to be the distance electrons travel in a nanosecond).