Am 02. September 2017 um 21:18 Uhr -0500 schrieb R0b0t1 <r03...@gmail.com>:
> Seeing as the OP is saying there are 3 versions queued for merge and
> he has not installed any of them by hand it looks like Alan is
> right. Perhaps the OP is using "old" Ruby based software, but software
> of that age in another language could work on new interpreters.

I took a moment and looked up the release announcements for the minor
version releases between the versions the OP has installed:

* https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released/
* https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

2.4.0 saw breaking changes, 2.3.0 not. In 2.4.0, the most notable
breaking change was the unification of Fixnum and Bignum into
Integer. Other breaking changes affected the standard library (stdlib):

* Tk was dropped from the stdlib.
* XMLRPC was dropped from the stdlib.
* Support for OpenSSL <= 0.9.7 was dropped from the stdlib.

For Tk specifically, the reason for the removal was that the maintainer
got demotivated by useless and even hostile feedback[1] and since nobody
wanted step up, the library was removed from the stdlib[2].

The exact judgement of how grave these changes are is subjective. Fixnum
and Bignum were not classes commonly used in Ruby code, so it may be
viewed as a detail. They saw a more frequent use in C extensions, which
may then be viewed more grave; the release announcement iself is pretty
clear on this topic:

Ruby 2.4.0 release announcment from 2016-12-25:
> All C extensions which touch the Fixnum or Bignum class need to be
> fixed.

I was not too happy with this either, but most software continued to
work.

I don't know the reason why the OP was left with three versions of
Ruby. Given the above release announcements, there are not too many
reasons why his software should not work with newer versions of
Ruby.

All this only applies to the core language. Some RubyGems packages
release very rigorously and some even make use of undocumented features
of (the C interface of) the Ruby language. That's however a different
problem.

Am 02. September 2017 um 21:18 Uhr -0500 schrieb R0b0t1 <r03...@gmail.com>:
> One of the reasons I dislike Ruby is that there is no complete
> specification of the language available, making this statement
> (technically) untestable.

There *is* a formal complete ISO specification of the language available,
approved in 2012[3].

Marvin

[1]: Exact reasoning of the maintainer is here (in reply to me):
     http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/436401
[2]: https://bugs.ruby-lang.org/issues/8539
[3]: https://www.iso.org/standard/59579.html

Reply via email to