and other little known facts about the history of software quality – Part 2 of 3
Last time, we learned about the software crisis and where the term ‘Software Engineering’ came from. In this installment, we get a story about Grace Hopper, but not the one that shows her sense of humor, we’ll save that for the final installment.
When Quality was too high
When I read that the vacuum tubes for the first computers were requested to be lower quality than standard tubes, I was intrigued.[MAUCHLY1970] While this isn’t directly related to software quality, it does point out that while software continues to get more complex, simplification can be a powerful approach to meet the core needs.
John Mauchly was the son of a famous physicist. He got his PhD in the 30s and through the 40s, he worked on various projects that required tremendous numbers of calculations. At the time, the only tools were pencil, paper and mechanical adders and multipliers. While some were electrified, they essentially were either slow or inaccurate.
He was constantly trying to find ways to make his calculations go faster. These efforts included using mathematical analysis to find efficiencies in the calculations to require fewer calculations to get to the desired results. He dismissed any efforts to make the electro-mechanical calculators go faster and spent some of his time thinking about the use of vacuum tubes instead of relays since they were much faster.
The issue was that nobody was really using vacuum tubes in that way. At the time, vacuum tubes were precision instruments where accuracy was important. This input voltage gave that output. However, John just wanted to have some reliable way to determine if the tube was on or off, even if it was not completely on or completely off. Due to the nature of vacuum tubes, they operate differently over time and ‘age’. But, they can work extremely fast, tens or hundreds of thousands of pulses per second. This would be a dramatic increase in processing power if harnessed.[MAUCHLY1970]
It was with this mindset that he and John Eckert designed the ENIAC. During their discussions with vacuum tube manufacturers, the conversation would go something like this:
Mauchly: We need to get some vacuum tubes for a electronic computer we’re planning
Manufaturer: Wonderful! We have the most advanced tubes in the market, here are the data sheets. Look at how precise they are!
Mauchly: Actually, I don’t need them to be that precise, I really only need to be able to distinguish between ‘on’ and ‘off’
Manufacturer: I don’t understand, are you saying that you don’t need the quality that we produce?
Mauchly: In a way. I’d like you to try and forget what you know about what your customers want and let me tell you the characteristics that I find important for this project…
A Little Bit of Marketing Goes a Long Way
John Mauchly was able to build interest in his electronic computer through a colleague that maintained a mechanical computer. His colleague would say, I can keep it working, but I know a guy that can do this faster. Here is Mauchly recalling this arrangement
“So we got Joe Chapline, … to come down there and care for the analyzer and keep it running right. He was my underground man at the Moore School. … While he was working down there underground, he would try to pass the word to anybody that came up from Aberdeen that said, “Yes, this thing is not turning out the results as fast as you would like them, but there is a man upstairs, who says if you did it with electronics, why you could go so fast you’d be up-to-date whenever you wanted”. Occasionally they’d say, “Who is this? I want to talk to him”. So that’s how it came about that in l942, somebody came up and talked to me and told me, “Well, it sounds very interesting, but I don’t think it’s very practical, because it would take a year to build it, and the War will be over in a year”. Then in l943, another man came up, Captain Goldstine, or he was Lieutenant Goldstine then, and he had a different story. He said, “Well, I don’t care whether it will work or not. This is a chance worth taking. We spend millions of dollars on developing new tanks for Army Ordnance, why can’t we spend a million dollars on something like this. If it comes through, fine; if it doesn’t, well that’s just one more thing that didn’t work”. So he was the one then that said, “Let’s get a proposal in fast and I think I can sell it”, and he did.”[MAUCHLY1970]
If a computer crashes and there’s no one around to hear it, does it make a sound?
Paper tape, as seen in the images below, was one method for feeding instructions and data into a computer during the early years. The holes in the paper were decoded in some pre-defined way. The example below is based on the ECMA standard and is characterized by a row of holes offset from the center to feed the tape using sprockets. If that didn’t line up, then the tape wouldn’t feed and you knew it was being fed wrong. Unfortunately, if the tape were fed end-first, all your data would be fed in backwards. This standard wasn’t set until 1965, so prior to that, each implementation of reading paper tape would be responsible for ensuring that the tape would be fed in properly.
(Is this oriented properly?)
(or is it this way?)
(hmm, maybe this way?)
Early implementations of paper tape readers did little to ensure that the data was fed in properly. Grace Hopper recalled in a 1968 interview the actual sound of a computer crashing and the events that lead up to it.
“Then of course, there was the day, finally and inevitably that happened, when one of the operators put up tape on inside-out. You know those tapes were loops and they kept going over and over again, and he’d turned it inside-out which meant that all the instructions that were on the left there, that handled all the equipment, went over — they were on the right, went over onto the left and all the regular coding which was on the left got over on the right. And so, when the mechanism read it the interpolators tried to step both forward and back at the same time, which stripped the gears, the typewriters all tried to print and do different things simultaneously, the card punchers tried to step and read and all sorts of things, and it sounded (the crash of that thing sounded) as if a plane had run into the building. You never heard such a crash in your life because everything mechanical tried to act at the same time, and it was down for about two weeks when the tape was put on inside-out. Of course, that’s beautifully typical of running a computer, that anything which can happen will happen—Murphy’s Law. You don’t even have to think it up; if it’s physically possible or mentally possible it will occur, and eventually that one did, the paper got on inside out.”[HOPPER1968]
- [SAMMET1992] Farewell to Grace Hopper – end of an era!,J. Sammet, Communications of the ACM, April 1992
- [HOPPER1968] Transcript of Smithsonian interview with Grace Hopper 1968, http://invention.smithsonian.org/downloads/fa_cohc_tr_hopp681100.pdf
- [MAUCHLY1970] Transcript of Smithsonian interview with John Mauchly 1970, http://invention.smithsonian.org/downloads/fa_cohc_tr_mauc700622.pdf
Robert Watkins (firstname.lastname@example.org)