Programmers At Work

March 2, 2008

Butler Lampson 1986/2008 Reflections

Filed under: Uncategorized — sml @ 11:19 pm

At the cool jargon web site, there’s a word named and defined after Butler Lampson.

milliLampson /mil’*-lamp`sn/ /n./ A unit of talking speed, abbreviated mL. Most people run about 200 milliLampsons. The eponymous Butler Lampson (a CS theorist and systems implementor highly regarded among hackers) goes at 1000. A few people speak faster. This unit is sometimes used to compare the (sometimes widely disparate) rates at which people can generate ideas and actually emit them in speech. For example, noted computer architect C. Gordon Bell (designer of the PDP-11) is said, with some awe, to think at about 1200 mL but only talk at about 300; he is frequently reduced to fragments of sentences as his mouth tries to keep up with his speeding brain.

As I was updating myself about Butler Lampson’s activities these days, I ran across this entry and it brought me back to my meeting with Butler back in 1986. I’ve posted his complete interview from that time on this page found in the column at the right. Please take a look because he was and is a fascinating, engaging man and as the word implies, he’s articulate and a deep thinker on many levels. However, to this day, I’ve got to say, my memory is of someone who spoke with such clarity and deliberateness and broadmindedness that everything seemed to slow down and settle in as I settled in to my chair in his little office to offer up provocative open-ended questions that I hoped would spur him to offer up some insights into the “black magic” art of software that was taking hold of our world back in 1986. I hope I have the priviledge soon to engage him again in a wide-ranging discussion as there have been a lot of stones added to the software mosaic since that time and I imagine he has a lot of reflections upon the shape the world of software has taken. To this day, Butler has left an indelible imprint on me personally as he has on the entire industry. He continues to hold his lofty important seat offstage in today’s world of programming.

You can learn more about Butler Lampson’s current pursuits at the website he maintains at Microsoft where he now is a fellow in the Research Group.

Some excerpts from the interview back then that continue to reverberate:

Lampson: The most important goal [in program or system design] is to define as precisely as possible the interfaces between the system and the rest of the world…the biggest change in my design style over the years has been to put more and more eemphasis on the problem to be solved and on finding techniques to define the interfaces precisely. That pays off tremendously…

Lampson: Everything should be made as simple as possible. But to do that you have to master complexity.

Lampson: A beautiful program is like a beautiful theorem: It does the job elegantly. It has a simple and perspicuous structure; people say, “Oh, yes. I see that’s the way to do it.”

February 29, 2008

Charles Simonyi 2008/1986

The first interview page I’ve posted is from the interview I did with Charles Simonyi in 1986. It was also the first one I conducted for the book and I was finding my way. Reading over it, I’ve pulled out below a few provocative excerpts. And the entire interview with Charles from 1986 in Programmers at Work, one of my favorites, gives you perspective on where Charles evolved from.

Today Charles Simonyi has evolved from jeans and jean jacket wearing Hungarian chief programmer to space travelling, custom tailored suit wearing, coding CEO billionaire. He’s still revolutionizing the field of technology with his work and wild ideas at the company he founded, entitled Intentional Software. You will find some excellent articles about their work on this site. Complexity as a driver of elegance seems to be Charles Simonyi’s goal.

This article in the New York Times regarding his current work gives you a glimpse.

Some interesting excerpts from Charles Simonyi’s 1986 interview:

SML: Why is it taking so much time for progress to occur with computers:

Charles: Because a lot of dumb ideas have to die first. That’s why progress takes time. First, new ideas have to evolve, then the bad ideas that stop the progress have to die. Even with relativity and quantum mechanics, the good ideas had to crystallize. And then people with vested interest in the old physics had to die out.

Charles: …to me, programs can be beautiful even if they do not follow [traditional structured programming] concepts, if they have other redeeming features. It’s like comparing modern poetry with classical poetry….you can’t limit your appreciation to just classical poetry. It also doesn’t mean that if you put random words on paper and call it poetry, there will be beauty. But if a code has some redeeming qualities, I don’t think it needs to be structured in a mathematical sense to be beautiful.

Responding to a question asking for an example of an obstacle to progress.

Charles: I think that the “cult of simplicity,” the idea that simplicity is a desirable end in itself, is highly suspect. For many years this has been a heuristic enabling us to focus on the problems with the quicest payoffs. But it is just a means. I think that computer science, together with all the other symbolic sciences (mathematics, physics, and modern molecular biology) will be revamped by the understanding of very complex phenomena. Mathematics is leading the way with the discovery of very complex fundamental objects. The traditional name for a class of these objects, “simple groups,” ironically reflects the old belief that “fundamental” is equal to “simple.” Well, maybe it isn’t. In computers we may not get anywhere with real artificial intelligence, user interfaces, languages, and so on by harping on simplicity.

Charles: …flying a helicopter for half an hour is by the way, a lot like programming projects: The launch and landing are spectacular, the ride can get very tiring, and the whole thing can come apart at any time.

That’s all for now folks. –Susan Lammers

January 11, 2008

Programmers At Work Revisited

Back in the 80’s I wrote a book entitled Programmers at Work. It consisted of 19 in-depth interviews with a handful of the amazing individuals who spurred the PC revolution through their creation of key software programs and companies. My aim was to explore the creative process, what sparked the software they created, what ideas and techniques went into their work, what their coding habits were, their motivations, their reflections on the results, and their thoughts about the future of the software industry.

Now, more than 20 years later conversations about these interviews continue. This amazes me and keeps the great memory I have of the experience of writing the book alive. On the 20th anniversary of its publication, Jon Erickson at Dr. Dobb’s held a lively forum with myself and many of the individuals originally featured in PAW. Scott Rosenberg, co-founder of Salon, wrote about the forum on salon and in his blog. In 2006, I was approached by Rich Pattis, a professor at Carnegie Mellon, about whether we could do a limited reprint in order to give it away to all the attendees at the SIGCSE conference where he was being honored as an outstanding educator. He said he gives away Programmers at Work every year to his star student in computer science. His enthusiasm was contagious; we got the book reprinted in a limited edition with the help of Microsoft. I continue to periodically receive inquiring emails from fans of the book and I was totally flattered to see that Peter Norvig, Director of Research at Google had written a review of it on Amazon.

Many people have urged me over the years to do a second PAW with a new generation of programmers and I’ve sketched out the project, made lists of new folks to feature, done inquiries, thought about going back to talk to the guys in the original edition, and other variations . Now with this web site, I will make the original interviews available online, and perhaps it will become the seed for a more “thoroughly modern” approach to the PAW series. What I’m hoping we can kindle on this site is an ongoing exploration and dynamic conversation with the “connected” community of programmers on the web about the creative process in programming.

My fundamental goal is to share the interviews online in one place since the book is not in print (though they remain copyrighted). I will start by posting the old interviews, beginning at the beginning, with Charles Simonyi, in hopes that it will usher in the new!

I loved doing the book and am happy to be able to share it on the web and see where it goes from here. Come back often to read the interviews as I post them and to offer your two-cents worth. I’d love to hear from you. —Susan Lammers

« Previous Page

Blog at