Fran Allen
499
I ran into it big time doing some subcontracting work. I had a group of
people that was doing wonderful work building an optimizer based on the
work we’ve done here for PL/I, a big, different language. But one of the
people working for the subcontractor had just discovered object-oriented
programming and decided that he would apply it to the extreme. And I
couldn’t stop him, even though I was the contract overseer, and the project
was destroyed. Ultimately, what did it was PL/I has lots of pointers and
tracing a pointer is done all the time, and it took 11 instructions to trace the
value, to find the value of one pointer consistently.
Seibel: You mean in the generated code.
Allen: In the generated code and in the compiler itself because it was
bootstrapping the compiler. Every time you made a step you had to check
that the thing’s valid. And you were checking, and rechecking, and
rechecking. It still happens today. Some of these lessons we haven’t learned
well. And I guess I was not dealing with it very well, because I should have
just pointed out what the cost of applying object-oriented technology in that
kind of situation. It was just hopelessly slow, so the whole thing got
canceled.
Seibel: When were you most directly building a product for IBM, with
production deadlines that had to be met?
Allen: Certainly, the Stretch project was that way. And I’ve worked in
product development two or three times, and been in the situation where
one has week-by-week code reviews right up against deadlines. I have a lot
of respect for those processes and how important they are for the end
result and for the team that’s doing it. It can be very painful to sit there
every Friday and do code reads with people explaining why they’re doing
what they’re doing and finding other people’s errors.
Seibel: Painful, but worthwhile?
Allen: Absolutely worthwhile. On the PTRAN project, towards the end
when we were shipping a piece of it to the products, a half a day was
devoted to explaining errors in our code, their code, whatever it was, every
week. That went on for ten months, I think. Devoted Friday afternoon to it.