Version Number Ordering Systems
Version numbers very quickly evolve from simple integers (1, 2, ...) to rational numbers (2.08, 2.09, 2.10) and then to non-numeric "numbers" such as 4:3.4.3-2. These complex version numbers are therefore better treated as character strings. Operating systems that include package management facilities (such as all non-trivial Linux or BSD distributions) will use a distribution-specific algorithm for comparing version numbers of different software packages. For example, the ordering algorithms of Red Hat and derived distributions differ to those of the Debian-like distributions.
As an example of surprising version number ordering implementation behavior, in Debian, leading zeroes are ignored in chunks, so that 5.0005 and 5.5 are considered as equal, and 5.5<5.0006. This can confuse users; string-matching tools may fail to find a given version number; and this can cause subtle bugs in package management if the programmers use string-indexed data structures such as version-number indexed hash tables.
In order to ease sorting, some software packages will represent each component of the major.minor.release scheme with a fixed width. Perl represents its version numbers as a floating-point number, for example, Perl's 5.8.7 release can also be represented as 5.008007. This allows a theoretical version of 5.8.10 to be represented as 5.008010. Other software packages will pack each segment into a fixed bit width, for example, 5.8.7 could be represented in 24 bits: ( 5 << 16 | 8 << 8 | 7; hexadecimal: 050807; for version 12.34.56 in hexadecimal: 0C2238). The floating-point scheme will break down if any segment of the version number exceeds 1,000; a packed-binary scheme employing 8 bits apiece after 256.
Read more about this topic: Software Versioning
Famous quotes containing the words version, number, ordering and/or systems:
“It is never the thing but the version of the thing:
The fragrance of the woman not her self,
Her self in her manner not the solid block,
The day in its color not perpending time,
Time in its weather, our most sovereign lord,
The weather in words and words in sounds of sound.”
—Wallace Stevens (18791955)
“My idea is that the world outsidethe so-called modern worldcan only pervert and degrade the conceptions of the primitive instinct of art and feeling, and that our only chance is to accept the limited number of survivorsthe one- in-a-thousand of born artists and poetsand to intensify the energy of feeling within that radiant centre.”
—Henry Brooks Adams (18381918)
“The national anthem belongs to the eighteenth century. In it you find us ordering God about to do our political dirty work.”
—George Bernard Shaw (18561950)
“The geometry of landscape and situation seems to create its own systems of time, the sense of a dynamic element which is cinematising the events of the canvas, translating a posture or ceremony into dynamic terms. The greatest movie of the 20th century is the Mona Lisa, just as the greatest novel is Grays Anatomy.”
—J.G. (James Graham)