TSS – How do Java and Ruby ultimately interact? Nutter – Well, for most well designed applications the integration points between frameworks and between modules in the system are via fairly well-defined interfaces. And like most of the other dynamic languages on the JVM, JRuby can implement Java interfaces using Ruby code. So you can start to swap out individual pieces of your application by re-implementing them in Ruby and taking the advantages of some of the features of Ruby in that case. There’s also frameworks like Spring, and some of the other dependency injection frameworks where you can have the dependency injection framework actually instantiate your Ruby-based or other dynamic language-based implementation of those interfaces, injecting it where necessary. And in that case, your code never has to even know that piece of the system has been swapped out for a dynamic language. It allows you to slowly start migrating more and more of your code to one of those languages. TSS – You spoke of performance and one of the knocks against Ruby, is that it just doesn’t perform well enough for large scale enterprise applications. Is there any truth to that? What is the Ruby community doing to address that, and what are your hopes in terms of performance of JRuby? Nutter – Well, there’s nothing about the Ruby language specifically that should prevent it from performing well or at least as well as any other dynamic language. There are various characteristics of the existing implementations, the C implementations that perhaps make them a little more difficult to optimize because it is a difficult problem to compile or to just-in-time compile or to do any of the more advanced VM features on an existing code base, like the C implementation. We’re trying to take some different directions with how we solve those problems in JRuby, and we’ve started to get a lot of positive performance numbers, managed to improve things, in certain cases passed the existing C implementation. And we are also trying to feed a lot of what we’ve learned from that research back into the Ruby community so that we can try and be a good member and help them to improve their own performance...With increased support for dynamic languages like JRuby, do you see Java evolving into a true, multilingual platform?
News: Charles Nutter on the JRuby Project
In this interview, Kirk Pepperdine of TSS.com interviews Charles Nutter, contributor to the JRuby project. Nutter discusses how JRuby is being integrated into the Java platform and how the JVM is evolving to support dynamic languages. He looks at upcoming support for JRuby in Netbeans 6.0 and addresses broader issues around dynamic languages such as type-checking, scalability and performance. From the interview:
- Posted by: Nate Borg
- Posted on: June 05 2007 12:18 EDT
He looks at upcoming support for JRuby in Netbeans 6.0What about eclipse ? sudhir jYog
Charles, You are really an inspiring person just for the fact that a huge organisation like Sun hired you and asked you to implement ruby features and expect changes in JVM. Well guys time is getting nearer that we need to look into these so called dynamic scripting languages. Thanks Prashant
One correction to the interview concerning the JRuby NetBeans plug-in: I think the plan for 6.0 final is to have a special Ruby IDE. So that developers can get NetBeans basic IDE + Ruby/JRuby support. So in 6.0 final (J)Ruby should be another option in the installer, which means it will be more than just an external plug-in.
IMO java is already there. Have a look at this really interesting list. http://www.robert-tolksdorf.de/vmlanguages.htmldo you see Java evolving into a true, multilingual platform?