home about me resume / cv email twitter

How to name software

25 Jun 2015

I have had it with your cute names for software.

It's a common joke that naming things is one of the hardest problems in computer science. Disturbingly, many software developers abdicate entirely their responsibility of naming software and end up naming it an arbitrary word or concept. I think this is bad news, especially when it's a project meant to be used by other developers.

This isn't to say that you should never give a project a cute name, or that developers should be the kinds of people that don't appreciate cuteness. I just think that developers should try to use good (read: any) judgment when naming things.

To aid you in this task, here's a list of heuristics you can use to name software. This list isn't exhaustive and these rules aren't hard and fast. They may even contradict eachother.

Great names

A great name describes what the thing does

A great name indicates aspects of how it does things

If you're going to have a cute name

Absolute musts

You must do these things:

Mitigating factors

Here are some other cool milestones you can hit before you start anthropomorphizing your particular collection of text files:

That is all

Hopefully you will follow the spirit of this document rather than the letter. I have no experience developing with either Backbone.js or Ember.js, but I can tell you that one of the names implies some sort of skeletal structure; who knows what the other one does. Maybe it sets things on fire?