1.0
1.1 1.10
1.15
1.20
1.45
1.5
as well. 1.0
1.1 1.10
1.15
1.20
1.45
1.5
as well.EDIT: I'm also reminded of after minecraft 1.9 came out, everyone going "does that mean that minecraft 2.0 is next?" like no, its 1.10 next
I would check what GNU's vercmp and Arch's vercmp would say, but I have no access to them right now.
$ vercmp 1.9 1.10
-1
$ vercmp --help
vercmp (pacman) v7.0.0
Compare package version numbers using pacman's version comparison logic.
Usage: vercmp <ver1> <ver2>
Output values:
< 0 : if ver1 < ver2
0 : if ver1 == ver2
> 0 : if ver1 > ver2Nowadays I have taught myself to say "three dot one" instead to avoid confusion and stop my brain thinking these are numbers.
Every package manager I've ever used works the same way too. For projects that use SemVer, this is even explicitly standardised.
Because according to "vercmp", it is true: https://news.ycombinator.com/item?id=44634420.
$ ./vercmp-gnu 3.11 3.1
3.11 > 3.1
$ ./vercmp-arch 3.11 3.1
3.11 > 3.1
GNU version just uses "strverscmp()" ("sort -V" probably uses it). See the man page, it includes an example that shows you this output.Which means what I said is correct, just not for the reasons I have provided, because I incorrectly said that I perceive "3.1" to be identical to "3.10", because they are not identical (although they could be in some cases).
$ ./vercmp-arch 3.1 3.10
3.1 < 3.10
$ ./vercmp-gnu 3.1 3.10
3.1 < 3.10
This statement of mine is also incorrect: "I assume 3.11 is a minor version increment.", but it depends really. 3.11 should be greater than 3.2, not the other way.So, most projects and package managers do it the way I correctly said (if we ignore the rest of my message), not the way Perl does it.
By the way:
$ ./vercmp-gnu 1.05 1.10
1.05 < 1.10
$ ./vercmp-gnu 1.05 1.1
1.05 < 1.1
$ ./vercmp-arch 1.05 1.10
1.05 < 1.10
$ ./vercmp-arch 1.05 1.1
1.05 > 1.1
Arch Linux's is expected, as "05 < 10", but "strverscmp()" interprets "1.05" as "1.5". That said, neither of the two are Perl-style.The algorithm is very simple -- you treat each component as a separate number and the newest version is the one which has the earliest left-most component with a numerically larger value. The rules are bit more complicated for suffixes (3.1-beta, 4.5~rc7, 14.2+devel) but stuff like SemVer has formal specs describing a similar algorithm for version comparisons (though SemVer has some subtle differences to the scheme used by most distro package mangers -- at least this is definitely the case for RPM).
I can see the argument for 3.05 == 3.5 > 3.1 (05 is a number that is equivalent to 5 and is larger than 1), and think that makes more sense than 3.05 < 3.1 (I guess that would mean 3.05 == 3.0.5 < 3.1? That's more than a bit fruity...) but I would personally prefer the packaging system reject such versions. Otherwise you need to make up rules for other nonsense like 3.-1 < 3.0 (??!). Of course, I suspect RPM would accept them all.
FWIW, I work at a Linux distribution company (SUSE) and have had to deal with these corners cases a lot.
This scheme was moved away from with Windows 10, which switched to a year/month versioning scheme (so the first W10 update was version 1511, as it was released in November 2015), then to the current "halves" system.
For the record, before you down-vote, check the other comments. I am from an European country where we "officially" use "," as the decimal point (so yes, I know it might not be universally true, at least not in theory), yet my bank uses ".", and so do people (many, at least). In IT, it always has been ".", too. Of course in elementary school (>20 years ago) we used "," as the decimal point, FWIW. :P It might still be the practice there.
I just checked, my bank uses "." as the decimal point, too, instead of the official ",".
If you turn on localization on your PC, it will use "," instead of "." (in MS Word, definitely) for decimal points though, but as I was saying, in practice (and in real life), "." seems to be the common standard still for the decimal point, it seems, even though officially it is not.
> Hungary uses a comma (",") as the decimal separator, not a period ("."). In Hungarian, a comma is used to separate the fractional part of a number from the whole part, while a period or space is used to group digits in thousands. For example, "one and a half" would be written as 1,5 in Hungarian.
Real life would beg to differ, however. My bank uses "." instead of ",", and I have had the same experience elsewhere, too. In IT, it has always been ".", too.
How is ISO date (2025-07-21) adoption in Hungary?
From what I recall, I see this format a lot. That, and "%Y. %B|%b. %d". The latter may be the most common? I am not entirely sure. I do not mind these two formats. I have an issue with formats like 2025/05/09 and the like. Is it May, or September? It is ambiguous. Thankfully they are not common here, AFAIK.
I get that people can be flexible about understanding that `.` and `,` do not have a stable definition especially in an international world, but I would have thought that 50.000 EUR in context would clearly be 50 thousand. Who specifies cents with 3 digits?
My bank is inconsistent, by the way. It uses "1234.00" where the last "00" is the cents. It was "1.234" in the same SMS. In another message (same bank) it uses "12,34". Weird. Although in the last case it might be because it is EUR, not HUF, but they are still very inconsistent.
Probably the best way to handle this is the way SI recommends dot vs comma be handled in scientific and technical writing. Their recommendation is to use a thin space for grouping, so if you see a dot or comma it is the decimal separator.
€50.000 and €50,000 would then both be exactly €50. If you meant €50000 and wanted to separate the thousands you would would write €50 000 (which looks ugly on HN because HN turns thin space into regular space).
Update: actually, SI used to recommend thin space. Now they just say space without saying what kind of space. Some people recommend choosing narrow non-breaking space (U+202F) (which HN also turns into regular space).
Also, for 4 digit numbers before the decimal they recommend not separating them, so 5k Euros would be €5000 not €5 000.