“Machines are alive with the sound of Fortran/With numbers they’ve crunched for a thousand hours/They add and subtract to the sound of Fortran/And raise fractions to unheard of powers.” (Sung to the tune of “The Sound of Music.”)
Long before emoticons, computer language pioneer and sometime amateur librettist Guy Steele ’75 was expressing his trials and tribulations in musical parodies. (Those ready for more cringe-inducing classics only need to bring up www.poppyfields.net/filks in their Web browser.)
Steele, one of the grand masters of CS, spent his student days doing more than hacking lyrics, literally inventing entirely new programming languages (notably Scheme) for the then nascent field.
A New England native, he graduated from Boston Latin before spending his undergraduate and graduate years shuttling between Harvard and MIT, where he received his Ph.D. in 1980. After a short stint as a professor at Carnegie Mellon, he joined the famed yet ill-fated Thinking Machines, a company not shy about its ambitions for AI. He eventually settled down at Sun Microsystems, where he helped make Java the current lingua franca for coding. Despite his programming prowess, Steele says: “At heart I’m really—well, I was about to say ‘a software guy,’ but the truth is that I’m a writer.”
You’re famous for the Great Quux (Steele’s pseudonym) poem collection. Were you an Andrew Lloyd Webber wannabe?
Maybe a Tim Rice wannabe; I can still remember when Jesus Christ Superstar came out and I listened to it on
vinyl. I have always loved working with words, and I have long loved nonsense poems and songs. I just had to try my hand at computer-related parody. It was pretty awful stuff, but more recently I have had some sonnets and other formal poetry accepted by The Lyric, Iambs and Trochees, and Möbius, so maybe that early doggerel was good practice in the mechanics.
You pursued computer science when programmers were likely singing to a small audience. Did anyone know what a programmer did in the 1970s?
I was part of a teenage gang that aggressively sought out computer time. Vincent Learson of IBM had arranged
for his alma mater, Boston Latin School, to have an IBM 1130 minicomputer; I learned to program in Fortran in ninth grade. I can remember touring the Aiken computer lab and being shown the Harvard IMP (Interface Message Processor) a few weeks before it was actually connected to the ARPANET.
In addition to writing and coding, Steele did some doodling for the famed New Hacker’s Dictionary.
So you entered college running.
By the time I arrived at Harvard as a student, I had been programming for almost four years, had learned five different programming languages, and had implemented the LISP language on the IBM 1130. In the end, I got a fine liberal arts education at Harvard as well as two very different perspectives on computer science. I think I exasperated a number of professors at both ends of Cambridge by too frequently countering opinions and assertions with, “But Prof. So-and-so [at the other school] says ...”
Did you have a sense that something big was coming in computing?
Apparently I overlapped with Bill Gates at Harvard but never met him. I didn’t know much about the homebrew scene in the 1970s; I was working on my graduate degree and had access to large computers. Occasionally I dreamed that I might have exclusive access to a computer that big and that fast (one megahertz! one megabyte! one megabuck).
So when did it really hit home that computing was not simply for scientists?
In 1987 I bought a Macintosh II and a LaserWriter, and I used them to desktoppublish the second edition of Common LISP: The Language. It was then that I really appreciated the personal computer revolution.
And you helped make programming more personal through your clear (and often humorous) writing. Is that a natural gift or did you develop that skill?
Any humor I have, I got from my father, I suppose, and I should credit the jokes that Donald Knuth put in his indexes with making me feel that maybe I could get away with a little humor in technical writing, too. Writing is a skill that I have pursued quite intentionally. I have worked very hard to develop a style of technical writing that avoids ambiguity without sounding overly fussy. That has required thinking carefully about, and coming to grips with, some of the deficiencies of English.
What’s your litmus test for success?
As I read over what I have written I ask myself: “For every sentence, how could this be misunderstood? Can this sentence be parsed in more than one way?” I rewrite to avoid ambiguity and pay very careful attention to word placement, especially with ”only.” “I have reread, reworded, and rearranged this paragraph about nine times, and I think it’s now ready to ship.”
Such a philosophy—writing as rewriting— likely applies as much to crafting lyrics as to programming as to life.
I have very broad interests. I originally wanted to be a pure mathematician, perhaps with a side interest in physics, and thought of computers as merely a pleasantly diverting (well, okay, obsessively diverting) hobby. But I did take a computer course in my first year, and when I realized I really didn’t have the right sort of imagination for higher mathematics, I was well positioned to make the switch. I did do a graduate minor in quantum mechanics and also studied circuits and hardware design at MIT; this breadth has served me well.
And for you, breadth boils down to … ?
I care about communicating clearly and precisely. Computer languages are especially good for precisely describing processes and relationships, but I like all languages. Square dancing and carpentry and heraldry and music and cooking have their specialized languages, and I love them all.