Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This versioning is pure crap.


I think the "0" in 0.14 indicates things are always gonna break. Semantic versions don't work when every new release has breaking changes.

I'm assuming that's what you're complaining about? I don't know what the React developers are thinking, of course, but I know that whenever I've released something with a 0.x version, it means "this is not stable yet, expect breaking changes". And, if that's a problem for people, they should wait until a 1.x release.


Can you help us understand why?


I speculate that it's because it's not treated like a Real number, where values increase like [0.1, 0.2, 0.25, 0.27, 0.29, 0.30].

React 0.14 supercedes 0.13 but it is not superceded by 0.9.


It's not a decimal number. It's a version number. If you add the implicit .0 back to the end of 0.14, it is easier to see. 0.14.0 is obviously not a decimal number.

14 > 13 > 9


Yeah, FWIW it's not a new problem and I'm not confused by this in general but I don't prefer it.

But I think we can all take a step back and see the ambiguity right?


Is it really that unreasonable to say that the ambiguity is long gone when version numbers now commonly contain several points and often letters and dashes and what not?


Why developers can't understand that not all uses of numeric digits are meant to behave like numbers?

Time, as in 00:12 is not a number either, it wraps around in 11:59 (or 23:59 in 24 hour mode)


14 > 13 > 9

"Math is pure crap"?


Well, fwiw, 0.9 > 0.14 > 0.13. Guess it depends on how you look at it.


The "." in versions is not a decimal point. There's certainly no such number as 0.9.1.


I know. Which is why I said that it depends on how you look at it.


I guess this causes less brainhurt when your native language uses a different decimal separator.


If you sort lexographically or treat those as decimals, it becomes 14, 13, and 90.

This is a flawed interpretation, but perhaps what wyldfire was trying to demonstrate.


As other posters indicate it's not that simple IMO. Then again, we are off on a bit of a tangent -- just my guess, not KenanSulayman's actual reasoning.

I find this mechanism of versioning mildly irritating (but I wouldn't call it 'crap'). I recognize that it's popular and I just suss the convention from the history.


It's standard semver wtf?


Why don't react use semver?



Kinda. The semantics of 0.x versions pretty much boil down to "shift everything one to the left", i.e. 0.14 is a breaking change from 0.13, 0.13.1 may introduce non-breaking changes (other than bugfixes) from 0.13.0.

Considering both Facebook and Instagram (as well as a ton of other companies like Netflix) already use it in production for flagship projects, it really should be beyond 0.x land at this point (same argument that applied to node.js, basically).

I guess they just don't want to appear more unstable than AngularJS (which doesn't use semver semantics and thus introduces breaking changes in "minor" releases and thus can get away with calling the upcoming rewrite "2.0").




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: