1 |
Am 02. September 2017 um 21:18 Uhr -0500 schrieb R0b0t1 <r030t1@×××××.com>: |
2 |
> Seeing as the OP is saying there are 3 versions queued for merge and |
3 |
> he has not installed any of them by hand it looks like Alan is |
4 |
> right. Perhaps the OP is using "old" Ruby based software, but software |
5 |
> of that age in another language could work on new interpreters. |
6 |
|
7 |
I took a moment and looked up the release announcements for the minor |
8 |
version releases between the versions the OP has installed: |
9 |
|
10 |
* https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released/ |
11 |
* https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/ |
12 |
|
13 |
2.4.0 saw breaking changes, 2.3.0 not. In 2.4.0, the most notable |
14 |
breaking change was the unification of Fixnum and Bignum into |
15 |
Integer. Other breaking changes affected the standard library (stdlib): |
16 |
|
17 |
* Tk was dropped from the stdlib. |
18 |
* XMLRPC was dropped from the stdlib. |
19 |
* Support for OpenSSL <= 0.9.7 was dropped from the stdlib. |
20 |
|
21 |
For Tk specifically, the reason for the removal was that the maintainer |
22 |
got demotivated by useless and even hostile feedback[1] and since nobody |
23 |
wanted step up, the library was removed from the stdlib[2]. |
24 |
|
25 |
The exact judgement of how grave these changes are is subjective. Fixnum |
26 |
and Bignum were not classes commonly used in Ruby code, so it may be |
27 |
viewed as a detail. They saw a more frequent use in C extensions, which |
28 |
may then be viewed more grave; the release announcement iself is pretty |
29 |
clear on this topic: |
30 |
|
31 |
Ruby 2.4.0 release announcment from 2016-12-25: |
32 |
> All C extensions which touch the Fixnum or Bignum class need to be |
33 |
> fixed. |
34 |
|
35 |
I was not too happy with this either, but most software continued to |
36 |
work. |
37 |
|
38 |
I don't know the reason why the OP was left with three versions of |
39 |
Ruby. Given the above release announcements, there are not too many |
40 |
reasons why his software should not work with newer versions of |
41 |
Ruby. |
42 |
|
43 |
All this only applies to the core language. Some RubyGems packages |
44 |
release very rigorously and some even make use of undocumented features |
45 |
of (the C interface of) the Ruby language. That's however a different |
46 |
problem. |
47 |
|
48 |
Am 02. September 2017 um 21:18 Uhr -0500 schrieb R0b0t1 <r030t1@×××××.com>: |
49 |
> One of the reasons I dislike Ruby is that there is no complete |
50 |
> specification of the language available, making this statement |
51 |
> (technically) untestable. |
52 |
|
53 |
There *is* a formal complete ISO specification of the language available, |
54 |
approved in 2012[3]. |
55 |
|
56 |
Marvin |
57 |
|
58 |
[1]: Exact reasoning of the maintainer is here (in reply to me): |
59 |
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/436401 |
60 |
[2]: https://bugs.ruby-lang.org/issues/8539 |
61 |
[3]: https://www.iso.org/standard/59579.html |