Naming things is hard

Years ago, when my dad Phil Karlton was working at Netscape, he touted a now-infamous phrase:

There are only two hard things in Computer Science: cache invalidation and naming things.

It’s been fun following this quote on the Internet for the past two decades. It’s clearly been so sticky because it’s both funny and true. There have been lots of riffs on it, as well, all of which are delightful. Thanks, Internet.

A few references. Enjoy.

Skeptics Stack Exchange

Three Hard Things in Computer Science

Tim Bray’s blog

Martin Fowler’s blog

Bob Archer’s blog

Peter Hilton’s blog


Jeff Atwood on Twitter

Me, on Twitter

This entry was posted in Nerd Stuff. Bookmark the permalink.

14 Responses to Naming things is hard

  1. Simon Hui says:

    Phil was my first manager, in my first job out of college. I worked for him 1991-1993 at SGI.

    A couple years ago, I thought about this quote that I had hard him say, and I realized that not only is there a lot of truth to it, but that those two things had something in common. To do well at both, you need to be able to predict the future well. A name is good if it survives into its future context, but of course you don’t know what other names it will coexist with. So indeed, both are hard things to do.

    • dkarlton says:

      Hi Simon. So wonderful to hear some history that you shared with my dad. It’s cool that his decades-old ruminations have stood the test of time, also in a bit of a future predictive sense as well. Take care and stay healthy.

  2. Pingback: Good Names

  3. Tom Bajzek says:

    I know I heard Phil say the famous quote at Carnegie Mellon sometime around 1970. I just can’t be sure that it was the first time he ever said it, or that nobody else had said it previously. I associate this with the Friday Evening Volleyball Association (FEVA) that he and I belonged to, along with a flock of other people in or associated with the Computer Science Department at that time. I think he said it when our intramural team was getting together to go over to the gym for a game.

    I always liked that quote because it tied together two things that are rather different. While I’ve been the case of a lot of invalid caches, I often think about how hard it is to name things, and that quote often comes to mind.

  4. Brian K says:

    Hi David. I stumbled onto your blog today via after looking up the author of the “two hard things” quote for the nth time. I remember hearing it (through Fowler) when I started as a developer in 2007 with ruby and rails. Over time, and with enough experience, I added a third thing that I believe to sometimes be the very hardest thing in Computer Science — people.

  5. Pingback: 10 Hard Things in Engineering We Don’t Spend Enough Time On | Dashbird

  6. Pingback: 10 things in engineering we don't spend enough time on - Dustin Ward

  7. Pingback: LAMP is dead! Long live (Perl) web frameworks! - The Phoenix Trap

  8. Pingback: LAMP is dead! Long live (Perl) web frameworks! - Python Dev Feed - Abu Sayed

  9. Pingback: 9 Technologies to Check Out for Your Next.js & React Project

  10. Pingback: Remix: The Yang to React's Yin Brother's Technology

  11. Pingback: Learn how to deliver faster, more reliable, & secure content

  12. Robin McKenzie says:

    It’s not “infamous” it’s “famous”!

    (What’s bad about it?)

Leave a Reply

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