Monday, July 7, 2014

Programming as Performance

Twenty-five years ago, in a systems administration class, I met a couple of women who seemed rather old, though reckoning says that they were younger than I am now. Both had started programming when it was an unusual occupation. At least one had learned the trade in Manhattan, which then probably had more programmers than Seattle and Palo Alto put together.

She told me that when she was a new programmer, the company's machine room had a picture window onto the sidewalk. Passersby would stop to look, for computers were few then, and not well understood. The programmer would hand off her card deck to the operator, who would read in the job, set it, and run it. This gave the spectators more to watch, for in those days tapes held much of the data and the work space, disk drives being new, few, and expensive: one could watch the drives go back and forth, tapes being taken down and hung, and so on. But if the program ABENDed (came to an abnormal end), all the tapes would stop at once, and the failure would be obvious to the public. It was, she said, a strong incentive to write one's program correctly.

I believe her. The PC revolution made it possible for millions to encounter program failures, and the web has greatly increased the number of programs and the number of users. But nobody has to hand off the code to an operator in full view of a sidewalk full of New Yorkers.


  1. You remind me of how fascinated I was with the computer installation in the basement of a college building in 1963; my roommate was a math-wizard, involved in the embryonic computer courses, so I "learned" a bit vicariously through him. Ah, how well I remember those stacks of punch cards.

  2. Punch cards were the least obnoxious choice in my freshman-year Fortran class--it was easier to see and correct errors with them than it was on the teletypes. But for a typist--which I was and am--they were a nuisance.

    Back when my acquaintance learned, though, she might have written out her programs on a coding sheet to be entered by a keypunch operator. Still there would have been a premium on thinking the program through and getting it right.