Live data from Hacker News

Ruby 3.3 on Rails 1.0

nashby.github.io

11–20 of 76 posts

Re: Ruby 3.3 on Rails 1.0

#11
post #9

Regression testing. It'd be a nice regression test to have: - Rails pegged at a particular version number and test the runtimes. - Ruby runtime pegged at a particular version and test Rails versions

The rails team already does the latter, subject to their specified compatibility matrix. Current rails requires Ruby 3.1, so CI only runs on that version and later.

https://buildkite.com/rails/rails/builds/103981

Re: Ruby 3.3 on Rails 1.0

#13

As much as people complain about Python, Ruby really went through just as much (if not more) churn over the years from backwards-incompatible changes.

But it was done slowly enough not to piss anyone off.

Re: Ruby 3.3 on Rails 1.0

#14

As much as people complain about Python, Ruby really went through just as much (if not more) churn over the years from backwards-incompatible changes.

I had the opposite conclusion.

This seems like a pretty minimal set of changes to get a 19 year old piece of software running.

Re: Ruby 3.3 on Rails 1.0

#16

As much as people complain about Python, Ruby really went through just as much (if not more) churn over the years from backwards-incompatible changes.

Almost all of the issues mentioned in this post were during 1.8 -> 1.9 transition.

At that time odd release numbers where development versions, until this policy changed a bit later and 1.9 became an actual "GA" release.

The 1.8 -> 1.9 is really Ruby's "Python 3" moment, as it similarly improved String encoding handling, but the breakages were much more limited and it also came with pretty significant performance improvements, so the community didn't split like Python 2 and Python 3.

If you follow Ruby's development, or watch Matz talks, you see that avoiding a Python like split is really his number 1 concern.

Re: Ruby 3.3 on Rails 1.0

#17

As much as people complain about Python, Ruby really went through just as much (if not more) churn over the years from backwards-incompatible changes.

Ruby has had two major backwards-incompatible change inflections: 1.9 and 3.0 (although I think that most of the removals were actually in 3.1).

The painful one is 1.8–>1.9, because that's where Ruby's string grew encoding awareness.

Going from 2.7->3.0 was not nearly as painful (mostly dealing with warnings and some code being removed from the standard library as gems that people can use if they want).

I still maintain code that is nominally 1.8 compatible and it works just fine on 3.2 (I haven't yet tested on 3.3).

What is surprising about this exercise is how little code needed to be changed on code designed for Ruby 1.8 to allow it to run on Ruby 3.3. The author doesn't say how long they spent on this, but it looks like 3–4 hours for a fairly complex piece of infrastructure code.

How much effort would be required to run Django 1.0 on Python 3.12? At least this much, I’m sure. I suspect more, but I don't know the 2->3 differences well enough to be able to estimate that.

Post reply on HN