InfoQ

Interview

Charles Nutter discusses JRuby

Interview with Charles Nutter by Ryan Slobojan on Feb 14, 2008

Community
Java,
Ruby
Topics
Community ,
Ruby on Rails ,
Compilers ,
JRuby ,
Enterprise Architecture ,
Platforms ,
Application Servers ,
Web Frameworks
Tags
RailsConf ,
Rails ,
JVM ,
JRuby ,
Mongrel ,
ActiveRecord-JDBC ,
Hibernate ,
Ruby on Rails ,
Open source Java ,
ActiveRecord ,
Java One ,
RubyDotNet ,
IronRuby
Summary
JRuby project lead Charles Nutter discusses how he got involved with JRuby, Sun's involvement with JRuby, how JRuby fits into enterprise-level web applications, the possibility of a friendly fork of the OpenJDK source code, reasons for switching to JRuby, the future of JRuby, Spring and JRuby, and the Ruby community as a whole.

Bio
Charles Nutter has been a Java developer since 1996, recently working as the senior Java architect at Ventera Corp and in September 2006 moved to Sun to work full-time on JRuby! He led the open-source LiteStep project in the late 90s and came to Ruby in the fall of 2004. Since then he has been a member of the JRuby team, helping to make it a true alternative Ruby platform.
Hi this is Ryan Slobojan at QCon and I am here with Charles Nutter, who is the lead developer at JRuby. Charles, why don't you tell us a little bit about how you got involved with JRuby?
What kind of changes have you done with JRuby since you got involved?
You mentioned that Sun got involved with JRuby. Why did Sun make that decision?
You had given the example of using JRuby in organizations. How would JRuby fit into, for instance, an enterprise-level web application?
When you compare JRuby on Rails with Ruby on Rails, one of the things that is commonly used with Ruby on Rails is Mongrel. Is there an equivalent for JRuby, is one necessary?
One of the recent developments is a project called "The Multi-Language Virtual Machine" or MLVM. How is that going to benefit JRuby, how is JRuby involved in that?
Do you envision this happening distinct from the JVM, would there be a separate multi-language VM in addition to the JVM?
What are some of the reasons that you hear people in the community giving for switching from Ruby on Rails to JRuby on Rails?
What do you think is going to be coming up in the future for JRuby?
You mentioned earlier that JRuby can use any library that's available for Java. Given that Ruby has a lot of database things built into already, how would something like Hibernate fit into that picture?
With Spring 2.5 one of the things that has been mentioned is the ability to wire in dynamic beans. How do you see that fitting in with JRuby, how does that change the landscape?
There are several Ruby implementations now that are available such as Ruby, Ruby .net, there's IronRuby and JRuby as well. What kind of dynamics are there in the Ruby community around that?
show all  show all
GlassFish v3 gem by Arun Gupta Posted Feb 14, 2008 3:29 PM
On cross-platform Ruby by Tom Nichols Posted Feb 15, 2008 7:50 AM
If Ruby is not your cup of tea... by Zeev B Posted Feb 18, 2008 5:51 AM
  1. Back to top

    GlassFish v3 gem

    Feb 14, 2008 3:29 PM by Arun Gupta

    Since this interview is recorded, GlassFish v3 gem has been released that provides a robust alternative to WEBrick & Mongrel. More details at:

    blogs.sun.com/arungupta/entry/glassfish_v3_gem_0_1

  2. Back to top

    On cross-platform Ruby

    Feb 15, 2008 7:50 AM by Tom Nichols

    ... help (JRuby) be the language of choice on whatever platform you are running


    As much as I prefer Groovy (since I do 99% of my work in the Java world) the idea of a language _really_ spanning platforms is a compelling reason for me to take the time to learn the Ruby language. I mean, they even have a Ruby port for the iPhone!!! I think there are just a few places where even the JVM won't go :) For that, it is good to have a diverse toolbox and I like the idea of a language that really spans platforms (that is, native, JVM, .NET, etc).

  3. Back to top

    If Ruby is not your cup of tea...

    Feb 18, 2008 5:51 AM by Zeev B

    If Ruby is not your cup of tea I would recommend taking a look at Python/Jython. Python was one of the first dynamic programming languages that had a JVM implementation (i.e. Jython).

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.