5 ms·
Is there any versioning scheme that is comparable? Honest question.
by throwaway468234 3y ago
Is there any versioning scheme that is comparable? Honest question.
- burkaman 3y agoSome languages just use integer versions, like Java.
- fullstop 3y agoThe early versions did not use integers, for what it's worth.
- josefx 3y agoJava dropped the leading 1 with version 5 since Sun decided it would never go for a complete rewrite of the language. Imagine the chaos if Python did that and then pulled the 2 to 3 change on a run of the mill update from 213 to 214.
- jcranmer 3y agoNot sure that's entirely accurate. Java 1.2 was branded as "Java 2", so you had the J2SE (Java 2, Standard Edition) and related J2ME and J2EE (Mobile and Enterprise, respectively) platforms. The "Java 2" moniker was dropped in Java 5, which was the largest rewrite of the language since, adding generics, sane memory model, annotations, etc., all in the same language revision.
- jorgemf 3y agoI think kotlin is one example. It uses the same idea but it uses powers of 10 for incremental fixes and numbers for 1 to 9 for hotfixes. That's if for the 3rd number, I do not know what will happen when the second number reaches 2 digits. I guess they will do something to make it comparable again.
- nxpnsv 3y agoTeX version number asymptotically approaches pi... each new version has another digit, this also makes versions comparable. Clearly this is the better way....
- deleted 3y ago[deleted]
- coldtea 3y agoComparable as what? 3.10 and 3.9 are perfectly mechanically comparable (meaning one can write a program to deterministically compare them and return their relative order), just not with default numeric ordering (then again they're not numbers, they are composite values that are comprised by numbers) or naive string based ordering. If we wanted trivially comparable with regular numeric ordering we could have incremental numbers as versions. 1, 2, 3, ... And if we wanted string ordering (as with usual filesystem listing sorting with no extra flags to treat as numbers), we could have fixed length padded parts: 00001.00045. Not sure if the latter is used, but some software does use the first.
- usrbinbash 3y agoOr I could just accept that neither numeric, nor string ordering works for semantic versioning, and write a trivially easy piece of code that does the ordering in a contect where I expect such a scheme. > If we wanted trivially comparable with regular numeric ordering we could have incremental numbers as versions. 1, 2, 3, ... Yes, and then we would be back to the day when the version number gave me zero information about what changed, and how that affects compatibility with existing code. There is a reason semver is used across the industry by now.
- coldtea 3y ago>Or I could just accept that neither numeric, nor string ordering works for semantic versioning, and write a trivially easy piece of code that does the ordering in a contect where I expect such a scheme. Hence the whole "3.10 and 3.9 are perfectly mechanically comparable (meaning one can write a program to deterministically compare them and return their relative order)" part in my comment you perhaps missed. >Yes, and then we would be back to the day when the version number gave me zero information about what changed, and how that affects compatibility with existing code. Not that it's any better now with semver though: in practice the semver works 95% of the time, and give just a false sense of comfort at the other 5%. You update, and things still break, despite the semver promise.
- usrbinbash 3y ago