News for hackers. Stuff that matters.
Re:Go 1.17 is deprecating the traditional use of 'go get' by dragonwriter on Friday June 25, 2021 @02:24PM (#27634534)
> Ruby made a similar change in character encoding starting at roughly the same time; it's (barely) remembered now as a non-event because they didn't take the "opportunity" to bundle in a bunch of other breaking changes which collectively required much more pervasive dinks to pre-existing code than the encoding issues.

No, its often misremembered that way; Ruby 1.9 had lots of backward-compatibility breaking changes, there was a long time when lots of things were stuck on 1.8, and much of the other stuff that happened with the Py2 -> Py3 conversion was mirrored. The big difference was that the Ruby community and ecosystem were smaller and less diverse.

Re:Go 1.17 is deprecating the traditional use of 'go get' by kortex on Friday June 25, 2021 @03:14PM (#27635059)
Ruby's also a bad comparison because not many folks are running ruby on windows.

Huge chunks of industry and academia run python on windows (usually through (ana/mini)conda). That's a whole 'nother world of encoding hurt.

Re:Go 1.17 is deprecating the traditional use of 'go get' by dragonwriter on Friday June 25, 2021 @04:17PM (#27635735)
> Ruby's also a bad comparison because not many folks are running ruby on windows.

Especially around the 1.9 transition; Ruby was barely usable beyond the level of toy code on windows. The Ruby on Windows story is actually a lot better now.

Re:Go 1.17 is deprecating the traditional use of 'go get' by rst on Saturday June 26, 2021 @02:41PM (#27644635)
Which things in particular? Rails supported both Ruby 1.8 and 1.9 simultaneously from Rails 2.3 through Rails 3.2, without it apparently being a huge struggle for the developers, dropping 1.8 only at about the same time that support for it was being dropped by the core Ruby devs altogether. And other posts from maintainers of smaller, but widely used, gems describe it as being a bit of a bother to set up, but not nearly the struggle that it took to run anything in both Python 2 and Python 3. See, e.g.,

https://thoughtbot.com/blog/the-journey-to-ruby-1-9

One key here is that the common subset of Ruby 1.8 and 1.9 was large enough that you could ship a single library for both, and a lot of large ones did, as in the above examples. That wasn't the case initially in the Python transition, and by the time Python3 had started making enough concessions to back compatibility to make this practically possible, people were a lot less willing to try.

(I personally was managing upgrades or a large Rails app at the time; Rails upgrades were, and remain, a bear, but as an accident of code style which just avoided the tricky spots anyway, the changes required to move that code between any two Ruby versions have never been more than a day or two.)

Re:Go 1.17 is deprecating the traditional use of 'go get' by dragonwriter on Saturday June 26, 2021 @03:01PM (#27644801)
> Which things in particular?

Lots of things; there was for several years a “caniuse” equivalent for Ruby gems tracking if they were on 1.9 yet because it was such a big issue. Bigger issue outside of the Rails-centered ecosystem.)

> I personally was managing upgrades or a large Rails app at the time; Rails upgrades were, and remain, a bear, but the changes required to move that code between any two Ruby versions have never been more than a day or two.

Yeah, a lot of Rails use exercises a fairly narrow slice of Ruby language and core/stdlib directly (that js, outside of library code), while leaning heavily on Rails-provided APIs, so that's not too surprising.