Seibel: So you were very comfortable at MIT but you ended up going toHarvard and working at MIT. What happened?

Steele: By the time I was applying to colleges I applied to MIT, Harvard,and Princeton and really wanted to go to MIT. I got accepted at all three.The headmaster of Boston Latin School was Wilfred L. O’Leary, an oldschoolclassicist, a wonderful gentleman. He called up my parents and said,“Do you realize that your son is actually considering going to Tech when hehas an acceptance at Harvard?!” So he twisted their arms and they twistedmy arm and I decided to go to Harvard after all.

Then my parents were on my case to get a summer job and not just sitaround the house—you know, the classic syndrome. I knew I was interestedin computing and didn’t want to flip burgers. So I interviewed forkeypunching jobs, figuring that was something I’d be reasonably qualified todo. But nobody wanted to hire me, in part because I wasn’t 18 yet. I didn’tfigure that out until later. They just listened to my story and said, “Don’t callus, we’ll call you.”

Then around the beginning of July I heard that Bill Martin at MIT was lookingfor Lisp programmers. I thought, “Aha, I know Lisp.” I’d hung around MIT somuch and had obtained copies of Lisp documentation from the ArtificialIntelligence Lab and I would sneak into the labs and play with thecomputers. The doors were open in those days—the Vietnam protests hadnot yet happened, which is what caused them to put locks on the doors.And I had spent my senior year implementing my own Lisp for the IBM1130.

So I showed up at Bill Martin’s office, this skinny kid out of nowhere, andpoked my head in and said, “I hear you’re looking for Lisp programmers.”And he didn’t laugh at me. He just looked at me and said, “Well, you haveto take my Lisp quiz.” “OK. How about now?” So I sat down and spent twohours working on a list of questions and puzzles. When I was done I gavehim the papers and he spent ten minutes looking them over and said,“You’re hired.”

Seibel: Was Lisp one of the things you had actually studied in this HighSchool Studies Program?

Steele: A little bit, though it was more Fortran and some other things.

Seibel: Did you have any important mentors when you were starting out?

Steele: At Latin School I’d primarily have to credit the math teachers withencouraging me just the right amount. In the ninth grade Ralph Wellings,who lent me those books over the Thanksgiving weekend, struck a dealwith me. He said, “I notice you’ve been getting 100 percent on all your mathquizzes.” He said, “I’ll let you spend four math classes a week in thecomputer room if on the fifth day you take the quiz and get 100 percent. Ifyou ever get less than 100 percent then the deal is over.” So that wasincentive. I proceeded to ace quizzes for the rest of the year—I studiedmath especially hard and that gave me access to the computer. Even better,the next year my math teacher would not offer the same deal, which wasappropriate because I did not know the math for that year. So they judged itabout right. So I had good teachers that gave me what I needed to learn allkinds of things.

Seibel: And then, as you got more involved in computers, were thereparticular folks who helped you along the way?

Steele: Well, certainly Bill Martin, who hired me. And Joel Moses, who wasin charge of the Macsyma project into which I was hired at MIT.

Seibel: And you ended up working on that project throughout college?

Steele: Yes, I was an employee of MIT all the time I was at Harvard. It wasa full-time job in the summers and it became a afternoon job during theschool year. I’d do my best to arrange my classes to be in the mornings atHarvard, then I could take the T down to MIT and get in two or threehours of programming before heading home.

Seibel: And that was all working on Macsyma in Lisp?

Steele: Yeah. My specific job was to be the maintainer of the Maclispinterpreter. JonL White had been in charge of both the interpreter and thecompiler and he became pretty much the compiler guru, and I took care ofthe interpreter, and it was a pretty good split. So JonL White was a mentorof mine. All the people on the Macsyma project kind of took me under theirwing. I also got to know some of the people in the AI Lab. So by the time Iapplied to MIT for graduate school it was pretty easy to get acceptedbecause they already knew me and what I was doing.

Seibel: Did you get your undergrad degree in computer science?

Steele: Yeah. I set out to be a pure math major and arranged my coursesappropriately and then discovered that I had no intuition whatsoever forinfinite dimensional Banach spaces. That’s what did me in. Fortunately, justout of interest, I had taken enough computer courses on the side that I waswell-positioned to make the switch in major. To be precise, what I switchedto was an applied math major. Computer science was part of applied math,and applied math was part of the engineering department at Harvard.

Seibel: At Harvard what kinds of machines were you dealing with?

Steele: DEC PDP-10s. There was a PDP-10 on campus, but I think that wasmostly used for the graduate work. Undergraduates had access to teletypeterminals to a commercial system that Harvard was renting or leasing orsomething.

Seibel: Is there anything you would do differently about how you wentabout learning to program? Is there anything you wish you had done earlier?

Steele: It’s not as if I set out with a particular goal in mind. I have noregrets about the particular path I took. Looking back I think I was thefortunate beneficiary of a number of interesting coincidences or blessings.

This experience of being, in effect, both at MIT and Harvard at the sametime I now realize was a very unusual experience. I could run back and forthand say, “The professor at the other end of the river says this.” And thisone will say, “Oh, he’s full of it; here’s the way you should think about it.”That gave me a very broad education, very quickly.

Having access to MIT as a high schooler was another relatively unusualthing. And to be allowed to play with million-dollar computers when I was15, back when a million dollars was real money. So no, I certainly don’t haveany complaints or regrets or wishes that I had done anything differently. Ialso tend to be a laid-back kind of guy and to take things as they come.

Seibel: What has changed the most in the way you think aboutprogramming now, vs. then? Other than learning that bubble sort is not thegreatest sorting technique.

Steele: I guess to me the biggest change is that nowadays you can’t possiblyknow everything that’s going on in the computer. There are things that areabsolutely out of your control because it’s impossible to know everythingabout all the software. Back in the ’70s a computer had only 4,000 words ofmemory. It was possible to do a core dump and inspect every word to see ifit was what you expected. It was reasonable to read the source listings ofthe operating system and see how that worked. And I did that—I studiedthe disk routines and the card-reader routines and wrote variants of myown. I felt as if I understood how the entire IBM 1130 worked. Or at leastas much as I cared to know. You just can’t do that anymore.

Seibel: Were there books that were important to you when you werelearning to program?

Steele: In the ’70s, absolutely: Knuth, The Art of Computer Programming.

Seibel: Did you read those cover-to-cover?

Steele: Pretty close to cover-to-cover, yes. I worked as many exercises as Ifelt I was capable of tackling. Some called for higher math or other things Ididn’t understand, and I’d sort of gloss or skip over those. But the first twovolumes and much of the third I read pretty carefully. The Aho, Hopcroft,and Ullman algorithms book—that’s where I learned how to do sorting forreal, I think. I’d have to step across to my library to try to remember otherones. I’m a pack rat—I’ve saved all these books. But those are the ones thatI would cite off the top of my head. And books about Lisp. The Triple-I Lispbook edited by Berkeley and Bobrow: kind of a scatter-shot collection ofpapers, but I learned a lot of interesting stuff from that. And then I startedreading SIGPLAN Notices and Communications of the ACM. Back in those daysCACM had real technical content and was well worth reading.


Перейти на страницу:
Изменить размер шрифта: