Frank Sommers: Editing Ruby code was possible in earlier milestone builds of NetBeans 6. What additional Ruby integration is there in today's release?
Dan Roberts: There is very significant and deep integration in the current milestone release. It goes far beyond code highlighting, and provides code completion for modules, classes, and methods, semantic code analysis with highlighting of parameters and unused variables, and highlighting the occurrence of variables. We believe NetBeans is now one of the most full-featured IDEs for working with Ruby code, and offers deeper support for Ruby than most other IDEs do at present.
Frank Sommers: What about support for JRuby?
Dan Roberts: One of the biggest advantages, and most significant features, of NetBeans' Ruby Pack is that you can choose to run your Ruby application on the platform's regular Ruby interpreter or on JRuby. JRuby allows you to take the same Ruby code you would run on the regular Ruby interpreter, and run that code inside the JVM.
Using JRuby has a couple of advantages. One of them is that your Ruby code can call into Java libraries. Java has a huge set of libraries, built up over the past ten-plus years. Those libraries provide valuable functionality, and you can take advantage of that functionality from Ruby code now. Inside the NetBeans IDE, when you're working with Ruby code, you can reference any Java library from Ruby. As long as that class library is available to NetBeans, the IDE's editor will be able to help you with method completion for those Java classes, just as you expect it to do when you're working on Java code.
The other advantage of JRuby is that we're putting a lot of effort into making it perform fast—as fast as, or even faster than, the native Ruby interpreter. Just today, the JRuby team will be making a new release of JRuby, featuring impressive performance optimizations. When we release JRuby 1.0 later this year—possibly this summer—you will see that JRuby will be one of the fastest ways to run Ruby code.
So the NetBeans Ruby Pack is targeted at Ruby developers also—it not only offers one of the best Ruby development environments, but also lets you target JRuby for performance.
Frank Sommers: What's the development roadmap for the Ruby Pack?
Dan Roberts: We said we would provide first-class support for Ruby in NetBeans, and we have done that with today's milestone release. In the next release of the Ruby Pack, we will focus on providing support for Ruby on Rails projects, since Rails is the primary way developers use Ruby today. Expect that to become available by the middle of the year.
I also want to note that although NetBeans is truly a multi-language IDE—supporting C, C++, Java, Ruby—we're still figuring out how supporting dynamic scripting languages inside NetBeans will fit in with how Java developers work in the IDE. It's one thing to provide a lot of features, but it's more important that those features work together in an integrated way. This is something that we're already looking at.
The NetBeans Ruby Pack is available from the NetBeans update center inside the latest NetBeans 6 Milestone release. In the interview, Roberts stressed that a lot of QA goes into a milestone release, and that such releases differ from nightly builds of the IDE.
What do you think is the most effective way for a Java developer to leverage the productivity boost that Ruby can provide?