Interview: Guy Steele Interviews John McCarthy, Father of Lisp
In this phone interview that took place in front of an audience at OOPSLA 2008, Guy Steele spins a yarn with John McCarthy, the father of Lisp, attempting to find out some details surrounding the language inception in the 50’ and its later evolution.
Watch: Guy Steele Interviews John McCarthy, Father of Lisp (56 min.)
Steele tries to bring back McCarthy’s memories from 1956-1958 when he started thinking about “an algebraic list processing language for artificial intelligence work on the IBM 704 computer”. McCarthy does not forget to mention those who were involved in those early days, either by providing good ideas to him or by working on the Lisp project itself: John Backus, Herbert Gelernter, Carl Gerberich, Steve Russell, Mike Levin and others.
This interview is interesting because it shows some of the Lisp creator’s feelings about the language conception and evolution. For example, McCarthy does not like some “Englishy” syntax that was added later like “loop”.
McCarthy still wishes he succeeded with expressing common sense with mathematical expressions. That’s what he wanted to do back then, and that’s what he challenges today’s students with.
The interview is full of impressions and names from a thrilling age of programming, when many believed Artificial Intelligence was easy, and presents some of the influences languages like FORTRAN, ALGOL, IPL, PL 1 had on Lisp.
Typos in the transcript
girdle numbers => Gödel numbers
sum ends => summands
Herbert Stan => Herbert Stoyan
Kozak => [Alan] Kotok
"Amin!" => "Amen!"
Lennart => Lenat
Ken Pitman => Kent Pitman
John Al => JonL [John Lyle]
Re: Typos in the transcript
These are the typos that I thought either skipped information or misconveyed it:
variable lockup => variable lookup
Kotok and ... => Kotok and [Elwyn] Berlekamp
logical connectiveness => logical connectives
the idea had, in my opinion => But IPL had, in my opinion
you are currently convinced that while => you [were?] currently convinced for a while that
IPL had a boss => APL had a boss (If we take Fortran or IPL, each of them had a boss - APL had a boss)
trying to disclaim that boss => trying to disclaim that bossness
garbage collection was needed anyway => garbage collection was neater anyway
and a collected group => an eclectic group
"did he get into Lisp" => "did it get into Lisp"
that I did understand all of until => that I didn't understand at all until
differentiating in the formula and so forth => ... a formula and so forth. So I thought they were gonna hit a wall.
Re: Typos in the transcript
Lisp and Prologue => Lisp and Prolog
Re: Typos fixed
(in every place where this occurs)
Fortran-Lisp -> Fortran list
The idea of ... as a function -> the idea of cons as a function
consoles -> cons cells
Heilsberg -> Hejlsberg
Lisp programs or Lisp data -> the fact that Lisp programs are Lisp data, I think
Close related to the idea of a Lisp program and Lisp data is that it enables you to encode, apply and eval
-> Closely related to the idea that a Lisp program be Lisp data is that it enables you to encode APPLY and EVAL
The idea of eval is -> The idea of EVAL as
High order -> Higher order