Would it be considered acceptable to use word compounds instead of numbers for version iterations?

For example in a pattern: "[Adjective] [Noun]"

The first version could be something like: "Auspicious Armadillo"

Thus on each sequential release the noun would change to the next letter of the alphabet and the version could be along the lines of: "Auspicious Bear"

Once the alphabet for the nouns runs out the Adjective gets changed and the Nouns can start over e.g: "Bewildered Armadillo" etc.

This would give me around 676 possible different versions to iterate through.

Assuming the project is small & short enough to fall within these 676 releases before a complete remake/overhaul, would such a versioning pattern be considered acceptable to use?

Or would it just create needless confusion and chaos?

I understand this might be somewhat opinion related, but I was hoping for some kind of a general consensus on whether this is an acceptable or terrible idea.

  • 1
  • 3
    Acceptable for who? What do you hope to gain from such a versioning scheme?
    – Roman
    Mar 17, 2014 at 11:01
  • 1
    An answer would strongly depend on what you want to achieve with that versioning pattern. What is the downside of numbers in your context?
    – Andy
    Mar 17, 2014 at 11:04
  • The only goal for me to use words instead of numbers would be that I would assume sensible word compounds would be more memorable for the end user to remember/refer to. Mar 17, 2014 at 11:08

2 Answers 2


Codenames are useful, particularly for searching. Finding information about Ubuntu 12.04 is much harder than finding information on Ubuntu Precise Pangolin, because "12.04" will also turn up blogs posted on April 12 or December 4, or at 4 o'clock on the 12th of March.

It can also be useful in effectively killing everything written about a Beta version when the real version is released and makes it irrelevant. For example, a search for Windows Vista does not turn up information written when it was known as Longhorn ... which is good, because many things had changed.

But I don't agree with your contention that codenames offer you MORE freedom by nature of there being only 10 digits and 26 letters. You are not limited to x.0 - x.9. You can easily have x.799, as long as any comparison you do is version-based rather than decimal- or string-based. *

So I would recommend having codenames but not using them as a versioning system.


decimal comparison: 1.799 < 1.9
string comparison: "1.799" < "1.9"
version comparison: 1.799 > 1.9

The biggest issue with this is trying to tell someone else what version you have. Do I have Auspicious Armadillo? Or do I have Amourous Armadillo? or do I have Agitated Asp? In the end, users will refer to their version as version A.A or A.B or B.A, which is not that different from 1.1, 1.2 or 2.1, just limited to 26 versions at most. And if you ever want to introduce a 3rd rank of versions, what will you do? Alfred the Bewildered Armadillo?

You can, however, do what Mac, Android, some linux Distros and other software programs do, and assign these as codenames to stable versions. Your 1.0.0 can be Armadillo, your 1.3 can be Bear,...

Not the answer you're looking for? Browse other questions tagged or ask your own question.