In CS 1 and CS 2 I had an instructor who bashed names whenever he got the chance. “‘Constant’ is a stupid name in my very strong opinion,” he would say, referring to some new technology our textbook was introducing. “A much better name would be ‘Nonchanging.’”1

He was an opinionated individual, which is more common than you would think in computer science.

If you invent a technology, you often get to choose its name. The rest of us can complain about its name as long as we want, but that’s never going to change the name. So while complaining doesn’t help, I do find it constructive to think about previous examples so that we can get better at naming new things in the future.

A good name in computer science has three characteristics.

  1. No longer than necessary
  2. Not so generalized as to be easily forgettable
  3. Has direct relevance to the concept at hand

Nearly all names in computer science match the first two criteria. It’s the third one where some fall short.

The common mistake is to grab a name that everyone has familiarity with, and impose its brand equity on your technology regardless of that entity’s actual correlation to your technology.

Let’s look at some programming language names that don’t cut it:

  • Python — a python is a snake. Why is a language named after a snake? This has no relevance.
  • Ruby — that's a precious stone. Same problem. (Note that Rails, Ruby's popular framework, is adequately named, because it makes you faster.)
  • Pearl — same problem.

Next, let’s look at the good examples:

  • PHP — recursive acronym that stands for PHP Hypertext Preprocessor. Since PHP generates HTML, this is a perfect name.
  • Objective-C — this language was an object oriented knockoff of the C language. It's objective. Perfect.
  • Assembly — when a high level language is compiled into object code, it's being assembled. Who can argue against Assembly?

One big elephant in the room, of course, is Apple. With its product Macintosh, it has stolen real life ideas and imposed them on something that has nothing to do with apples. And yet I love Apple and would hate for them to change their name. Is this inconsistent? First, let’s observe the following:

  • Its namers were pressed to come up with a name under short notice. They were open to other ideas if a better one came to them.
  • Steve Jobs loved apples, particularly the McIntosh.2
  • They recognized the value of being alphabetically first in directories

Ultimately, it comes down to personal taste. I will always hate these names:

  • CakePHP
  • Round Robin
  • Big Endian and Little Endian

And I will always love these names:

  • Singleton Pattern
  • Strava
  • Laravel
  • jQuery
  • Next Step

Once a technology has existed long enough to have a history, our reaction to its name has less to do with our approving the name, and more to do with our opinion of the technology.


  1. Don’t hold me to this exact example, though it’s likely true. ↩︎
  2. I find it somewhat conspiratorial that the proper spelling of McIntosh the fruit is rendering as a misspell on this Macintosh computer. ↩︎
Note: This article has been backdated to its original penning. Drinking Caffeine debuted in February 2016, but this article has been dusted off and placed here so that you, dear reader, may access it without the ensnarements of web.archive.org.