Saturday, August 8, 2009

We (GUI Ruby user) still need CRuby

2 weeks ago, Charles Nutter(JRuby Core Developer) said JRuby's importance in his blog. I have 2 opinions (i.e. agree/disagree) for this entry.


At first, I agree for web development. Initial JRuby's goals were two: Compatibility with CRuby and Running Ruby on Rails(RoR). RoR developers have been making RoR running successfully with CRuby and JRuby, and JRuby developers have been making RoR related libraries running on JRuby. The most significant library in these is RubyGems because RubyGems is a library to manage all libraries.

So today, RoR developers and web developers no need to worry about the difference between CRuby and JRuby. Actually, gems related RoR are ready for CRuby and JRuby. Ones related another web framework are almost ready. In fact, github-FI works on JRuby only because of running on Java application server. If you need to scale web applications using Java application server, JRuby is very important and best solution surely.

But second, I disagree for Ruby GUI libraries. I do NOT think it's weakness of JRuby. Ruby GUI libraries are not supporting or less supporting RubyGems because of requirements many C header files or shared objects or both. Ruby GUI libraries just need C header files and shared objects when building from source codes. For example, RubyCocoa 1.0.0 was released 2 weeks ago, but its installation is:
$ ruby install.rb config
$ ruby install.rb setup
$ sudo ruby install.rb install

Of course, QtRuby is similar. Major installation is cmake, installation by RubyGems is minor. Certainly, there's no word that developers and communities(include me) of Ruby GUI libraries are wrong because of not supporting RubyGems. But even if supporting, the fact remains that Ruby GUI libraries require C header files and shared objects.

By the way, Matz said in Japanese interview 3 weeks ago:
@IT クラウドといいえば、Google App EngineではJRails on Rubyも動いてます。もうJVMでいいじゃんっていうことになる危機感は?

まつもと 危機感どころか、JRubyがなかったら、今でもRubyがApp Engineで動いてなかったわけだし、JRubyがあって良かったなって(笑) JRubyもRubyだし。ぼくはCRubyが絶滅してもJRubyで“象徴”として生きる道があるから(笑)

Translation by me:
(interviewer) Speaking of cloud, JRails on Ruby works on Google App Engine. Are you feeling some sense of crisis about "JVM is enough for us to run Ruby"?

(Matz) There's no sense of crisis. In fact, if JRuby hasn't exist, Ruby hasn't work on App Engine yet, so I feel nice that JRuby exists :-) If CRuby will become extinct, I will have a way to live as a "symbol" in JRuby :-)

No comments:

Post a Comment