On what basis ruby and ruby on rails versions are named -
i curious on basis ruby , ror versions named. example, after ruby 1.9.3, version 2.0 instead of 1.10 or 1.9.4, , in rails. there must convention or rule.
ruby , rails, many other projects follow semantic versioning.
they don't follow letter, though. example, ruby 1.9 backwards-incompatible ruby 1.8, whereas ruby 2.0 compatible ruby 1.9, ruby 1.9 should have been ruby 2.0 , ruby 2.0 should have been ruby 2.1.
in particular case, there historic "marketing" reasons that: term "ruby 2.0" has been used in ruby community on 10 years mark specific "mythical" version specific, talked-about features scoped monkey patching , traits. releasing version without features still calling "2.0" have been more confusing breaking rules of semantic versioning. (actually, ruby 2.0 was released without traits , it has led confusion!)
otoh, impossible call "1.10", because ruby_version
constant returns version string
, , lot of tools (incorrectly)
if ruby_version <= '1.8' def foo end end
which break, because string
'1.10'
less than string
'1.8'
.
therefore, decided settle on 1.9.
Comments
Post a Comment