Ken Thompson
456
Thompson: Yeah, well, I had to teach Fortran in the computer center and
debug the Fortran programs. I never programmed in it. I wrote a Fortran
compiler for Unix early, and B was an attempted Fortran compiler that got
away from me.
Seibel: I thought B was your translation of BCPL.
Thompson: It sort of was. It started off as—I didn’t know what it was.
Semantically, it turned out to be BCPL. As I started it, it was going to be
Fortran. And at that point I got my first description of BCPL. And I liked the
clean semantics. And that’s when I abandoned Fortran and it turned into
essentially C syntax and BCPL semantics.
Seibel: Is there any really big differences in how you think about
programming or how you practice programming from when you learned to
now? Do you feel like your programming has matured in some way or you
got better at it or you learned things that make you look back and say, “Oh,
man, I didn’t know what I was doing back then.”?
Thompson: No, not really. Sometimes I look back at stuff I did and say,
“Wow. I was much better then.” The period from when I spent that week
reading that program to maybe when I was 30, 35 years old, I knew, in a
deep sense, every line of code I ever wrote. I’d write a program during the
day, and at night I’d sit there and walk through it line by line and find bugs.
I’d go back the next day and, sure enough, it would be wrong.
Seibel: Do you think when you were 35 you could still remember the stuff
you had written a decade before?
Thompson: Yes. Then I started being selective about what I’d remember.
Seibel: Is there anything you would have done differently about learning to
program? Do you have any regrets about the sort of path you took or do
you wish you had done anything earlier?
Thompson: Oh, sure, sure. In high school I wish I’d taken typing. I suffer
from poor typing yet today, but who knew. I didn’t plan anything or do
anything. I have no discipline. I did what I wanted to do next, period, all the
time. If I had some foresight or planning or something, there are things, like