Another one of my personal heroes and someone who shaped me very early on in my life as a computer scientist, John McCarthy, the Father of Lisp, has passed on. I can’t begin to imagine how I might have turned out as a CS person without discovering Lisp early in University. It has pretty much affected how I view programming as both a craft and an art form.

The creator of Lisp and arguably the father of modern artificial intelligence, John McCarthy, died last night. He studied mathematics with the famous John Nash at Princeton and, notably, held the first “computer-chess” match between scientists in the US and the USSR. He transmitted the moves by telegraph.

McCarthy believed AI should be interactive, allowing for a give and take similar to AI simulators like Eliza and, more recently, Siri. His own labs were run in an open, free-wheeling fashion, encouraging exploration and argument. He won the Turing Award from the Association for Computing Machinery in 1972 and the National Medal of Science in 1991.

He was born in 1927 in Boston and taught himself higher math using Caltech textbooks when his family moved to the area, allowing him to take advanced classes when he enrolled as a teenager. He received a Ph.D. from Princeton in 1951.

According to McCarthy’s own articles, he created Lisp in order to create Turing machines in the limited computing environment at his disposal.

In this month of fallen giants, it’s nice to think that McCarthy’s work lives on in the many systems – seen and unseen – that control the way we interact with computers and the Internet.

The information of his passing came first from his daughter through informal channels, and was confirmed by Stanford this afternoon.

I was a young college student when I was starting to poke around at computer programs. I was still a EE major at the time, but beginning to be fascinated by the world of software.

A friend of mine, a grad student, suggested I look into Lisp. Wow-o-wow, was I confused at first! But reading about how the language was designed to take advantage of a particular machine’s architecture, and what philosophies drove the design and implementation got me hooked so hard, I was converted from a hardware person into a software person over the course of a year.

I used Lisp for all sorts of fun and foolish things, like writing my numerical analysis programs in Lisp. (Yep – that Guass-Jordian Elimination solver was pretty sweet! The TA didn’t quite know what to make of it, but he gave me an A anyway!)

After graduation, I sort of put Lisp away for awhile, as I didn’t really have a place to work with it on the machines I was using at the time. Then I started working on Unix on a Vax system, and there was Emacs with it’s Lisp inside! I was thrilled. Emacs has been my editor of choice for decades because of the Lisp extensibility.

Thanks for everything, John. You will be missed.

And, as ever, Randall says it best:

Lisp Cycles