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

by Joey deVilla on November 3, 2011

"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 comments… read them below or add one }

Leave a Comment

Previous post:

Next post: