InfoQ

Interview

Nick Sieger on JRuby

Interview with Nick Sieger by Werner Schuster on Aug 22, 2008 07:16 AM

Community
Java,
Ruby
Topics
Ruby on Rails ,
JRuby
Tags
Warbler ,
RubyFringe ,
Ruby1.9 ,
JRuby ,
Ruby on Rails
Summary
Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.

Bio
Nick Sieger is a staff engineer at Sun Microsystems where he has been working on a team building a large JRuby on Rails application. He is a member of the JRuby core team, leading the effort to improve Rails deployment in a Java environment.
We are here at RubyFringe in Toronto, I am sitting here with Nick Sieger, of Sun. How about you introduce yourself?
What are your tools that you provide for JRuby, what specific tools do you work on?
JRuby Rack, is that a drop in replacement, can I just take any Rack based web application and drop it in?
What else do you work on in JRuby?
What's the JRuby Shell integration?
Java integration, I think that's the theme for the next JRuby release. What's the problem now, what are you going to solve, what's the JRuby team going to solve?
Are you planning to use runtime code generation for the Java lightweight objects. Is there a specific plan now, or is it just on the long term?
One problem with code generation that you pointed out in your blog is that it fills up the permanent generation, [that was an issue with] the just in time compiler. Do you think that is going to be an issue?
How did you solve the Perm [Generation] problems of the just in time compiler, I think it limits the number of methods to compile.
As you said, multiple JRuby runtimes. So do people use that in production for running Rails applications?
Is there some work on going with building multi VM API and MVM API, what's the status on that? What are your plans?
JRuby team and the Rubinius team are cooperating on that. I think the JRuby team also collaborates with the Rubinius team on specs. Are you sharing specs with them?
Some time ago there were some plans on running Rubinius on JRuby in some way. Is this just a side project or is this still going on?
What are other long term plans for JRuby? 1.2 or 2.0 or whatever the next versions will be.
Do you have any specific cases where the JIT causes problems?
Does the method cache have anything to do with that? The compiled method cache?
So it doesn't play too well with Hotspot at the moment?
What will Ruby 1.9 integration look like? Will that be a different mode, can it give it like the runtime a command line argument to switch between molds?
Two runtimes in one runtime basically.
Since Ruby 1.9 seams to be in flux do you expect to wait for some time? Do you expect to catch up with some of the early themes?
You recently put your own blog onto JRuby, JRuby on Rails, tell me about the experience with that.
Is that the blog code your own application ?
Great. Do you have any favorite JRuby on Rails application or some big showcases that you are proud of having contributed to?
show all  show all

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.