of attack do you see?
I haven’t looked at Rubinius in ~5 months, but one of its lingering
weaknesses was (and likely still is) a lack of usable Windows support.
At that time I was unable to build-on-Windows-for-Windows, and the
Rubinius VM was architected and built in a way that caused symbol
visibility link failures. I don’t think these issues have been solved,
but in all fairness, I don’t track Rubinius any more.
http://jonforums.github.com/ruby/2011/07/17/building-rubinius-on-windows-1.html
bigdecimal.so link fail when building on Win7 · Issue #1164 · rubinius/rubinius · GitHub
One of the strengths of JRuby is its multi-platform support. This is a
statement of both a technical perspective and a philosophical project
management perspective. I won’t address the technical goodies other
than to say that I find JRuby’s usability and buildability (??)
fantastic on both my Win7 and Arch systems.
With regards to multi-platform support, JRuby’s project management
should be recognized as the competitive advantage it is. For example,
the JRuby team has been consistently providing Windows installers and
Windows-friendly binary archives.
More importantly, multi-platform goodness appears to be part of their
DNA. When I reported a performance regression that impacted usability,
Charles quickly resolved it http://jira.codehaus.org/browse/JRUBY-6201
rather than allowing it to linger for years. When I highlighted a
recent improvement in MRI on Windows, Charles reminded me that I was
Doing it Wrong and JRuby on Windows performance was better than I had
originally documented
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/42713 I
single out Charles, but there are other examples involving other JRuby
committers and non-committers.
While there are those that, rightly so, care less about running
{Ruby|JRuby|Rubinius} on Windows, there are others who see the value.
Here’s one example. Say you’ve decided to deploy your_coolness.rb app to
a cloud provider who uses either a Linux or BSD OS as part of their
infrastructure. Who cares about whether their Ruby impl runs on Windows,
right?
But what if your developers use Windows boxes? Would you really be happy
developing locally on MRI or JRuby but deploying to Rubinius? How do you
replicate and quickly solve issues let alone optimize? Who do you go to
for support? How do you regression test when a new Rubinius version is
rolled out? Etc…
This example is a clearly a bit of a stretch, but you get the point as
well as see the potential biz benefits of JRuby in the cloud. If you
happen to be in this scenario, using JRuby is clearly the better
solution.
That said, technically I like, and see huge potential in Rubinius. Their
technically strong group of contributors impresses me. I hope they find
a way to make Rubinius a killer multi-platform Ruby implementation with
Windows support that’s not a kludgy, bolt-on, neglected Quasimodo.
I suspect their key issues include (a) focusing limited resources, and
(b) discovering a way to make Windows support sustainable by figuring
out a biz model that allows them to monetize the Windows support.
All a very wordy way of saying highlight JRuby’s multi-platform
technical and project management goodness in your upcoming discussion
Jon
Fail fast. Fail often. Fail publicly. Learn. Adapt. Repeat.
http://thecodeshop.github.com | http://jonforums.github.com/
twitter: @jonforums