Hacker News new | ask | show | jobs
by usrbinbash 942 days 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.

> 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.

1 comments

>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.

> part in my comment you perhaps missed.

I didn't miss any part of your comment. The line you quote was as a reaction to the alternatives presented immediately after that part.

Because why would I sacrifice the advantages of semver for a minor convenience to the programmer of a sorting function?

> in practice the semver works 95% of the time

Which, based on nothing but my gut feeling, is a lot better than the 30% of the time any other versioning scheme works, where the only way to be reasonably sure that an update would not break my code was to diff the library (if the thing is open source), or read all the documentation, and pray to Zeus that it's complete and accurate.