On 09/04/2017 01:07 PM, R0b0t1 wrote: > > For almost all languages but Ruby (and Perl) you can take code written > against one minor version and compile it in the next minor version.
This isn't a language issue with Ruby, it's a culture/package-management one. For a long time, it's been easy to bundle dependencies in Ruby. The result is a culture of saying "I need the version of ruby-foo that was released on my birthday that one time mercury was in retrograde, and also I'd like the version number to have a seven in it somewhere because that's my daughter's age." When two package authors come up with two different requirements like that, you end up needing *two* versions of ruby-foo installed. Even if both packages could happily use the same, latest version of ruby-foo -- you get what upstream says in most cases. And what upstream says is usually crap, because they bundle everything and will never notice annoying incompatibilities like end-users do.