Writing by Peter Hilton

97 Jokes Every Programmer Should Know

The missing anthology of developer cultural heritage 2025-05-20 #programming #humour

Aleksandra Sapozhnikova

  1. The importance of jokes
  2. Original jokes
  3. 97 Jokes ←

97 Things Every Software Architect Should Know (full content) launched the successful 97 Things series, which continues to generate successful new variations. However, one essential book remains absent.

At a conference, years ago, I got chatting to Kevlin Henney, who edited the first 97 Things books. In the conversation, I found a connection between a lightning talk we’d seen the day before, and one of Kevlin’s own presentations.

Community & culture

Kevlin and I were at the ACCU conference, where Chris Oldwood had filled a five minute lightning talk with programming jokes as stand-up comedy. The jokes started out as programming dad jokes, but after a few minutes of them wearing down the audience, the relentless delivery got everyone laughing. The whole experience felt exceedingly wholesome.

In his book Small Pieces Loosely Joined, David Weinberger explains how shared jokes indicate shared cultural context. In the same conversion, Kevlin confirmed my suspicion that his Cool Code presentation teaches us that programmers should treat historically important code as shared cultural knowledge. And shared jokes.

Jokes explained properly

My idea for a 97 Jokes book included more than just the jokes, which would only fill a few pages. Instead, each short essay would introduce a programmer’s personal favourite joke, and give them an opportunity to share why they like it. Best of all, they could Explain Each Joke Properly.

Explaining a joke ruins it, of course, but doing so earnestly enough also makes people laugh. And while most readers would already know most of the jokes, everyone would find something new.

More importantly, novice programmers would get an introduction to the in-jokes that you only find funny once, but which everyone expects you to know. It would become a required computer science undergraduate text.

Joke categories

Programming jokes start with the classics that you don’t find funny any more:

There are 10 kinds of programmers: those who understand binary, and those who don’t.

Fortunately, classic jokes generate updates and derivatives. The best take a classic, and find humour in violating the expectation that you already know it:

There are 10 kinds of programmers: those who understand binary, those who don’t, and those who weren’t expecting a base 3 joke.

Then you get technology-specific jokes, which lampoon your favourite programming language, in the other kind of technology (self-)deprecation. The Prolog Lightbulb Joke goes deep into the Prolog developer experience, for example, while this joke only relies on Perl’s reputation:

If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl programs.

On the other hand, perhaps the canonical Java jokes should have been a chapter in 97 Things Every Java Programmer Should Know.

Two jokes

I pitched 97 Jokes Every Programmer Should Know to Kevlin, and then immediately told him why it wouldn’t work: we’d never come up with 97 jokes. As Phillip Bowden joked:

There are two hard problems in computer science: we only have one joke and it’s not funny

However, since first pitching 97 Jokes to Kevlin, I’ve collected and attributed more programming jokes than I expected to find. And after combining my own collection with Marit van Dijk’s finds, we now have more than one hundred programming jokes.

Share on BlueskyShare on LinkedIn