As I write this, word has it that John McCarthy passed away yesterday. Tech Crunch is reporting this as fact, citing Hacker News, which in turn cites a single tweet as the ultimate source. So the only authority we have, for now, is one person on Twitter, and we don’t know what relation she has to McCarthy.
[Update: More recent comments on Hacker News corroborate the story. Also, the twitterer cited above, Wendy Grossman, said McCarthy’s daughter called her.]
I also have an unsubstantiated story about John McCarthy. I believe I read the following some time ago, but I cannot remember where. If you know of a reference, please let me know. [Update 2: Thanks to Leandro Penz for leaving a link to an article by Paul Graham in the comments below.]
As I recall, McCarthy invented Lisp to be a purely theoretical language, something akin to lambda calculus. When his graduate student Steve Russell spoke of implementing Lisp, McCarthy objected that he didn’t intend Lisp to actually run on a physical computer. Russell then implemented a Lisp interpreter and showed it to McCarthy.
Steve Russell is an unsung hero who deserves some of the credit for Lisp being an actual programming language and not merely a theoretical construct. This does not diminish McCarthy’s achievement, but it does mean that someone else also deserves recognition.
John,
This is a paper that mentions the first written lisp 1.5 compiler: ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-039.pdf
Wasn’t that Steve Russel?
http://www.paulgraham.com/icad.html
Russell’s wikipedia entry implies this without stating it. I have told this story in Programming Languages for years and would love another authoritative source. http://en.wikipedia.org/wiki/Steve_Russell
He was a great.
Jobs died and it was profound for we lost an innovator.
Ritchie died and I was sad for we lost a mentor.
McCarthy died and I lost a hero.
McCarthy never intended us to use the Lisp that all have come to know and some have come to love. That syntax, called “s-expressions”, was intended solely to represent data. McCarthy’s blackboard version of Lisp wrote functions as “m-expressions”, which looked more like what we now think of as “traditional” programming languages – it had operators, functions with parameters rather than lists that had a function name as their first element, etc. But Russel’s implementation did only s-expressions, and the rest is history.
I’ve often thought that tying programmers to keyboards and screens has hampered our minds. Iverson and McCarthy worked on blackboards and on paper with pencils, and look where they wound up!
The interesting thing is, we’ve tried to implement m-expressions: We called it Dylan, and it never really took off. Emacs Lisp has had more real-world success than Dylan has, even though Dylan has the ‘normal’ syntax.
I would say many other people deserve credit for turning the crude LISP into a reasonable language for implemention. And, I’d add, that just as in the first implementation of FORTRAN, those LISPs, especially the MacLISP of the MIT-AI Lab of the 1974-1977 time frame, was a clear superior to some of its descendents, such as InterLISP and the like. That was largely due to some of the keen insights by people like Jon L White, who surely deserve as much credit as Steve Russell does making LISP a real language.
While I principally use R and C these days for my statistical work, it is the mind-expanding list-oriented functions from LISP like apply and funcall and map and mapcar which inspire my efforts and interpretations.
So, to Professor John McCarthy, I salute you. The last time I saw you was at my older son’s graduation from Harvard, where you received an honorary degree. The world of LISP is lost on many in software development now, sadly so. But, then, so is much else, such as rudimentary numerical analysis.