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.
Jeff Atwood on Twitter
Me, on Twitter
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.
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.
Pingback: Good Names
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.
Hi David. I stumbled onto your blog today via https://skeptics.stackexchange.com/a/39178 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.
Pingback: 10 Hard Things in Engineering We Don’t Spend Enough Time On | Dashbird
Pingback: 10 things in engineering we don't spend enough time on - Dustin Ward
Pingback: LAMP is dead! Long live (Perl) web frameworks! - The Phoenix Trap
Pingback: LAMP is dead! Long live (Perl) web frameworks! - Python Dev Feed - Abu Sayed
Pingback: 9 Technologies to Check Out for Your Next.js & React Project
Pingback: Remix: The Yang to React's Yin Brother's Technology
Pingback: Learn how to deliver faster, more reliable, & secure content
It’s not “infamous” it’s “famous”!
(What’s bad about it?)