3 ms·
The versioning scheme used in Go may be somewhat misleading to outsiders. There are often significant runtime changes between versions, but only the minor versi
by kgeist 5y ago
The versioning scheme used in Go may be somewhat misleading to outsiders. There are often significant runtime changes between versions, but only the minor version is bumped. For example, adding generics to C# (among other things) prompted the C# team to bump the version of the language from 1 to 2. Go adds generics in 1.18, and if you don't follow the news, you won't know it's not just a minor improvement over 1.17, but one can say a whole paradigm shift (we've been waiting for generics for 13 years). So perhaps many people think there's nothing wrong about using old benchmarks for Go 1.10 because it doesn't feel like a lot must have changed between 1.10 and 1.18
- pjmlp 5y agoThat was one of the reasons why by Java 9, the dual versioning scheme, e.g. 8 vs 1.8, was abandoned.
- cpeterso 5y agoSun did the same with Solaris’s versioning, jumping from Solaris 2.6 to 7 (i.e. 2.7).
- tptacek 5y agoGo preserves major version bumps for things that can break compatibility. It's an engineering indicator, not a marketing tool.
- Dylan16807 5y agoMarking very major new features is also an engineering indicator.
- tptacek 5y agoGo preserves major version bumps for things that can break compatibility.
- Dylan16807 5y agoIt does. I'm not saying that choice is wrong at all, I'm saying that particular choice is a matter of engineering vs. engineering and not engineering vs. marketing.
- tptacek 5y agoSun's version scheme choice was a marketing one.
- Dylan16807 5y agoThe way your post was written I thought you were comparing to both Java and the idea that Go could have called 1.18 2.0
- pjmlp 5y agoActually it more like the religion decision that Go 2.0 will never happen.
- throwaway894345 5y agoI would expect major versions to only increase when backwards compatibility is broken, not merely because the runtime performance improved. Go's version scheme makes a lot of sense to me.