BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Request: Sun, Drop Support for JRuby

Request: Sun, Drop Support for JRuby

This item in japanese

Since the beginning of programming there have been debates between the validity and usefulness of one language to another.  Developers, managers, bloggers and the like continuously argue back and forth about why one language is better than another.  Back in September of 2006 Sun Microsystems, widely known for creating Java,  made a clear stance that it was going to support JRuby.  The news came as Sun announced they were hiring the two lead developers of the JRuby project, Charles Nutter and Thoams Enebo, to work full-time on the JRuby project.  As history has shown this proved to spark new debates about Sun's decision to back the project.

Recently, Rick Hightower posted his feelings about Sun's support of JRuby and requested,

Sun please drop JRuby support. It is a waste of time. Take that money and spend it on Groovy which has a compatible syntax to Java. Do the language evolution there and quit abusing Java syntax. Give us some decent Groovy IDE tools. Quit messing with Java so frequently.

Rick provides several reasons for his request to Sun, including that syntax matters,

Sun invests in Ruby via JRuby. DOH! Groovy looks a lot like Java. It is much easier to get started with it. The syntax does not make developers want to hurl.

In addition to syntax, Rick suggests that language popularity also be considered and he goes on to display a chart which shows Java being much more popular than Ruby.

Here is another reason not to invest heavily in Ruby. For the color blind: RUBY COMES IN DEAD LAST!

Ruby comes in dead last. If there was going to be a revolution, it would have happened already. Ruby is a little long in the tooth to finish this poorly. Don't you think?

Java is popular because it is like C++ and C. C++ is popular because it is like C. C# is popular because it is like Java. See a pattern. Follow Gosling's lead, and add some decent support for Groovy (code completion, re-factoring, etc.) When/if, the new language feature becomes main stream, then add it to Java (or not if it does not make sense).

With opinions and suggestions like that there has been quite a buzz on Rick's blog.  In fact, there are over 50 comments at the time of this writing.
The majority of the commenter's seem to believe that having a choice in programming languages is a good thing,

I believe that we should have choice, so asking jruby to cease the development for me just not fair. don't get me wrong, I still don't like jruby, and right now I use groovy, but let jruby and scala alive, choice is good.

Another response posted by Michael Galpin sheds light on the other side of the debate.  Specifically, Michael provides one reason why investing in Scala can be worthwhile.


There is great potential in languages with control abstraction. Scala is just such a language. It is possible to implement the actor model, a shared nothing, message based design for parallel computing, in Scala. This is not possible in Java. You can do it in Groovy, sort of, but it can be awkward. The reason for this is simple. If you have a object call method call closure (for example) the closure can return control back to the object in Scala, but only to the method in Groovy. The extra control structure coupling in Groovy makes some aspects of control abstraction awkward at best.

Another blogger, Ola Bini, also disagrees with Rick Hightower, stating

I believe that JRuby is important because it can run in the same environment as Java, but without the problems of Java.

Ola goes on to explain the problems that he believes exist in Java and in turn why JRuby is a better choice.  Additionally, Michael Galpin goes on to explain why Sun is interested in JRuby.

Sun knows what it takes to introduce a new language and platform and make it the de facto standard in the industry. It is very hard and expensive. They have done it once, and it cost them dearly. Java cannot stay at the top forever. They do not want to fight this battle again. However, if they can get the Rails on JRuby scenario described above to exist, then they could "stay on top" without having the fight all of the battles this time. They let the Rails community do it for them.


In addition to Sun standing behind JRuby, there has also been development on the NetBeans IDE to support JRuby.  However, it should be mentioned that there is active NetBeans development to support Groovy and Grails.  In fact, Martin Adamek provided a update to NetBeans support for Groovy and Grails on his blog.

So what are your thoughts, is there room on the JVM for various languages?  Should Sun stand behind Groovy and increase the development and tooling support for it?

Rate this Article

Adoption
Style

BT