Stanford 1973-1977; Carnegie Mellon 1977-1982
Oxford 1983-1987; Glasgow 1987-1996; Bell Labs 1996-2001; Avaya Labs 2001-2003; Edinburgh 2003-
University of Edinburgh
Favourite thing to do in my job To boldly go where no one has gone before! Failing that, write a program. (Sometimes they are the same thing.)
I design programming languages—it’s like inventing new ways to think!
“In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind.” — Edsgar Dijkstra
I believe that in his usual style, Dijkstra was exaggerating. I think there are two precedents: the invention of writing and the discovery of mathematics. Computing give us, with prose and mathematics, a third way to describe our discoveries.
(Dijkstra is a winner of the Turing Award, the equivalent of the Nobel Prize for computer scientists. He was wrote the above twenty years before the web. It’s now become clear that as a tool, computers are important. But I think there importance as ‘an intellectual challenge’ will prove more important.)
My Typical Day
A good day: meeting with students, writing a paper. A bad day: answering e-mail. A really good day: writing a program.
What I'd do with the money
Develop a programming language for schoolkids.
A really cool programming language for kids is Scratch.
I’d like to develop something similar, but based on the sort of programming languages I work with. One thing I’ve done, working with students and based on an idea from web designer Bret Victor, is called “Alligator Eggs”, and it’s described in this blog post. Alligator Eggs is a model of something called Lambda Calculus, which is the basis for most of the work I do. Lambda calculus can describe everything a computer can do, but the complete description of it can be written down in three lines. It was invented by Alonzo Church in 1932, before computers actually existed!
Another cool project put together by some of my students is Mandelbrot Maps. And you can see some of the neat graphics designed by my students in our annual programming competition.
How would you describe yourself in 3 words?
<a href="http://www.malevole.com/mv/misc/killerquiz/">Not serial killer</a>
What's the best thing you've done in your career?
Help define the <a href="http://www.haskell.org">Haskell</a> programming language.
Were you ever in trouble at school?
No – I was too much of a nerd to get into trouble.
Who is your favourite singer or band?
What is the most fun thing you've done?
Scuba diving in a blue hole.
If you had 3 wishes for yourself what would they be? - be honest!
More time to program; More time to write papers; More time to think of ideas to program and write papers about.
Tell us a joke.
There are two kinds of people—those who think there are two kinds of people, and those who don’t.