Categories
Uncategorized

It’s Time to Declare John McCarthy Day – How About Sunday, November 13th?

"Programming: You're Doing It Completely Wrong": Motivational poster with a photo of John McCarthy

Sunday, October 16th was declared Steve Jobs Day by California governor Jerry Brown, and that’s great. With Apple, NeXT and Pixar, he and the goodies he helped bring to us changed the way we work, live and play for the better. Jobs died on October 5th, and the world is a poorer place without him.

Sunday, October 30th was declared Dennis Ritchie Day by geek publisher and conference organizer supreme Tim O’Reilly, and that too is great. Perhaps laypeople won’t understand his contributions in the same way they understand Jobs’, the technologies and tools we use today are descendants, either direct or indirect, of his work on the C programming language and the Unix operating system. Ritchie died a week after Jobs, and the world is also a poorer place in his absence.

I think it’s high time to declare John McCarthy Day. “Uncle John” passed away on October 23rd, and as with Jobs and Ritchie, the world is once again a poorer place with him no longer around.

Uncle John’s Accomplishments

Illustration of ancient mathematicians from the cover of "Structure and Interpretation of Computer Programs"

McCarthy is the creator of the Lisp programming language. Even if you’ve never used Lisp (or, if you’re like me, took it in a course and swore off it for life), if you’re a programmer, the odds are good that you’ve benefited from an idea borrowed from it. That supposedly-newfangled functional programming you’ve been dabbling in lately? Lisp’s had that since Elvis was skinny. If-then-else? Uncle John invented that sucker for Lisp. Do you perform cool stuff on collections using IEnumerable’s methods in .NET, Ruby’s Enumerable mixin or Python’s list comprehensions? Lisp got there first; after all, its name comes from “list processing”.

"Khaaaan!": Painting of Ghengis Khan

Look at the most programming languages, and you’ll see Lisp’s fingerprints all over them. The obvious ones are its direct descendants, such as Clojure and Scheme, but like the very prolific Genghis Khan – believed to be the ancestor of 1 in every 200 men today – its DNA is everywhere. Haskell and OCaml (and F#, which is OCaml spoken with a Redmond accent) are obvious candidates. There are Lisp-isms all over Python and Ruby. Scratch beneath JavaScript’s clunky hacked-together-in-ten-days syntax and you’ll see Lisp-like stuff in its innards. Even Java-the-language and C# are getting in on the act, with all sorts of Lisp-inspired functional programming stuff getting tacked onto them.

Old black and white photo of 1950s garbage collectors

Every time you don’t have to worry about freeing memory that you had to malloc, you owe a debt of gratitude to Uncle John. He invented garbage collection, and he did it ages ago – in the same year Fidel Castro took over Cuba. (We had computers back then?)

Time-sharing, and later software-as-a-service or platform-as-a-service? He was the first guy to put forth the concept in public.

Diagram showing how a space fountain works

And just for extra nerd points, Uncle John was one of the people who came up with the idea of the space fountain.

Let’s Give Him a Day: Sunday, November 13th

I don’t have the convening power of the Governor of California to make an official Steve Jobs Day. I don’t have the clout of Tim O’Reilly, who was able to declare an unofficial Dennis Ritchie Day. But I’d like to use whatever pull I have and your help to make Sunday, November 13th the unofficial day in which we mark the life and achievements of John McCarthy. We’ve all benefited from his work, and I think it’s only fair to pay him back with some tribute.

Please help by spreading the word! Let’s use the #JohnMcCarthyDay tag on Twitter and Google+.

This article also appears in the Shopify Technology Blog.

5 replies on “It’s Time to Declare John McCarthy Day – How About Sunday, November 13th?”

He also collaborated with Sauron and betrayed Gandalf. I hardly think that’s deserving of a day.

Um… hate to nag, but in a piece on the Father of LISP, it’s sort of embarrassing that you left an open parens in paragraph 5. ;-)

Joey,

Congrats on your one year anniversary of life! (Second birthday?)

I just wanted to say thanks for this post, and specifically the video you included. I teach a business technology class, and I have incorporated the video into the students first round of homework.

I think its a great introduction to *why* we use computers, without having to complicate it around user interface and usability. They are important, and greatly effect *how* we use computers, but would be unnecessary without the *why*.

The video cuts to the core, because all the fancy graphics and the GUI wasn’t around to complicate the main issue.

Leave a Reply

Your email address will not be published. Required fields are marked *