In a recent thread I questioned whether it mattered if there was a
roadmap to MRI Ruby 2.x compatibility and later I said “So it seems
JRuby plans to remain subservient to MRI Ruby. Pity.” Among the replies
someone said “what other path could JRuby take?”. And Charles Nutter
said “I believe we have done more to advance Ruby than any other
I have great respect for Charles and I don’t disagree with his claim.
But I firmly believe that JRuby can be much more than it is.
I didn’t pose my original question because I object to the changes being
implemented in MRI Ruby 2.1 - I have no idea what they are (I have not
out-grown JRuby 1.7 yet). But I was trying to get the JRuby community to
question its own direction.
It seems to me the focus for the JRuby community is on compatibility
with MRI Ruby rather than on JRuby as a product in its own right - a
product which should follow its own future development path (which may
or may not include compatibility with MRI Ruby). It only needs to be a
useful tool for programmers.
What would be wrong with a future in which MRI Ruby strives to be
compatible with JRuby. Even now that would be a much greater challenge
considering the breadth of JRuby’s capabilities.
To my mind there are three great strengths of JRuby that are hardly ever
mentioned. It is trivially easy to install on any PC that already has
the JVM installed (though the standard installation is not nearly as
simple as it could be). It can easily be used to produce GUI programs by
drawing on the underlying JVM. And most apps written in JRuby will run
unchanged on any other PC just by copying the project so they can easily
be distributed to non-expert users. The only external dependency is the
JVM which many PCs already have installed. By contrast, “Aunt Mary”
would find it impossible to install an MRI Ruby application.
These features should make it very attractive to beginners to
programming and to anyone who wants to create a cross platform GUI app
but no effort seems to be made to reach those markets. The underlying
assumption seems to be that people (experienced programmers) find JRuby
after they find MRI Ruby (probably by way of Rails).
I understand that the developers of JRuby are much better and more
knowledgeable programmers than I could ever hope to be. But sometimes
experts are too focused on their expertise to see the wider world.