On Mar 11, 2013, at 8:16 PM, Matt Neuburg matt@tidbits.com wrote:
[…] What if system ruby *is* Ruby 2.0? This could happen in the future, for all one knows.
Yes, and python could become py3k, bash could become zsh, etc. Let’s solve the issue when it happens :)
If Apple were to include ruby 2.0 though, I’m almost certain they would do so by introducing it as a ruby20 binary (or similarly named), since it’s not a backwards compatible replacement.
Isn't it desirable to be genuinely compatible with both 1.8.7 / 1.9.3 on the one hand, and 2.0 on the other?
If that compatibility came for free, sure. Since it is not free, the real question is, how many resources should we devote on maintaining compatibility with three versionf of ruby (1.9 can’t run all 1.8 code, and 2.0 can’t run all 1.9 code)?
It is easy to check for this thanks to RUBY_VERSION.
It’s also easy to just use ruby 1.8 to run the scripts that were written for ruby 1.8.
And while it’s easy to test for RUBY_VERSION, it’s not easy to actually write the code, because you need to be familiar with the subtle details of all 3 major versions of ruby and test on all 3 to be sure.