RubySpec is Reborn
eregon.github.io
eregon.github.io
The Rubinius team's complaints (though hyperbolic) still stand. Developing features in MRI and then testing other implementations against that is not a good design process. It makes sense for historical reasons, but there is significant work to be done cleaning out the cruft of Ruby.
For a sample of such cruft, please refer to the 11k+ line "parse.y": https://github.com/ruby/ruby/blob/trunk/parse.y
Done this way, all other implementations are held back by the early mistakes of MRI and there is little incentive for MRI to change that.
And much of it, in both the lexer and the grammar rules, is very heavily tied into MRI internals.
I think Brian "ending" Rubyspec might end up being the best thing he's done for it. Suddenly, as soon as he (and Rubinius) left, RubySpec is running and actively used on MRI for the first time in years, and JRuby and Opal have already swapped over to the new implementation. @eregon deserves HUGE credit for making this all happen.
I’ve been out of the Rubinius (and Ruby) scene for several years now, so I can’t speak much to the rest… but unfortunately the personality clashing seems sadly familiar.
Hipsters moved to Go and Nodejs so hopefully it will be easier for the ruby community to focus on the code rather than big egos and petty fights.
I wish the former communities good luck with the hype and the arseholes that come with it.
I'd also like to see some funny or surprising differences between the implementations, it could be fun to have a list of that somewhere.
That being said, they bring up this project more for political reasons, that they want to control the language, e.g. If MRI fails on the rubyspec, whose fault is that? It would be MRI if rubinius controls the project. Now rubyspec is part of the ruby (MRI) project, and they have made a lot of changes to conform MRI, and in return rubinius would need to adjust to conform the specs, for a project that has 24K commit and still doesn't work on windows, you can imagine why they don't want to join effort.
You can't expect that if there's going to be surprised changes.
(Source: Strousup explained this at a recent dev conference)