March 3, 1993
You went to Oxford for college, but never finished there—so what led from there to Caltech?
I was pretty much on the track of doing particle physics research, and being a physics undergraduate at Oxford wasn’t a particularly useful environment in which to do particle physics research. Since I had the opportunity fairly easily to go to graduate school in the US, I decided to do that and I chose to go to Caltech.
The first year that I was at Caltech was the year that I had the highest rate of publishing papers of any time in my life. I actually think that on average, I was turning out a particle physics paper every few weeks. My main conclusion was that I did in fact know how to do particle physics research, so I collected together some of those papers and made a PhD thesis out of it. I ended up getting my PhD when I was just 20. In later years, I’ve realized that it was a big mistake not to make the effort to get my PhD a few weeks earlier: it would be so amusing to say that one got one’s PhD when one was a teenager!
Anyway, after I got my PhD I started thinking about doing things other than particle physics. At the time, I was involved in doing various particle physics calculations which involved very complicated algebraic expressions. I ended up trying to use Macsyma® to do these things. I had already been using Macsyma for several years for a variety of purposes. But my big disappointment was that after having written an incredibly ugly giant piece of code to do particle physics calculations, it in the end didn’t work properly because of various limitations in Macsyma.
As a result of that experience, I decided that it should be possible to do something better than Macsyma. So my first step was to talk to the folks who had originally written Macsyma and try to persuade them that it was time to build a second-generation system. What ended up happening, though, was that the older people who were involved in the project said, “Well, you’re probably right that we could do a lot better if we started again, but we’re too old to consider doing that”. The younger people said, “No, no, Macsyma is the best thing you could possibly do along these lines—you could never do better”. I didn’t really believe that, and so I embarked on what became the SMP project, which was an effort to build a really powerful algebraic computation system. One of the very important things that happened in the course of building SMP was that I realized that there was a much richer style of programming that could be used when doing symbolic computations—rather than the Pascal–Algol–Fortan-like programming that was, for example, built into Macsyma.