I think it's perfect to start this blog with some good news: Tom Enebo and I have been accepted to present JRuby at this year's JavaOne conference. It will be a technical session (yay!) and we hope to pack in as much practical and technical information as possible on all the latest JRuby developments.
Over the next several weeks I'll be posting a few updates on my work with JRuby, mainly focusing around the redesign of the core interpreter and how it plays into Tom's and my plans for JRuby's future. I'll also provide some context by describing the practical details of the redesign, from its earliest stages back in September of 2005.
For those of you that can't wait until Sun's official JavaOne catalog, here's the full abstract we submitted.
JRuby: Bringing Ruby to the JVMThe final abstract may differ somewhat from this, but there ya go! I hope to see you all at JavaOne!
JRuby is an implementation of the Ruby programming language targeted at the Virtual Machine for the Java™ (JVM) platform. Ruby is a dynamically-typed object-oriented language with support for blocks, continuations, and all the usual OO trimmings. JRuby aims to not only support the full Ruby platform, but also provide an enhanced m:n threading model, a heap-allocated “stackless” call stack, AOT and JIT compilation of Ruby to bytecodes, and extensive, pervasive integration between Ruby and Java technology.
Ruby has become a very popular language recently, in part because of the popularity of the Rails web framework, but also due to the careful, cautious evolution of the language and libraries. Because of this popularity, many powerful tools and frameworks are available that would fit well into existing Java applications. We plan for JRuby to run all the high-visibility Ruby applications in concert with existing Java applications and frameworks. Imagine Rails with JDBC ActiveRecord connectors, session or entity beans implemented in Ruby, middle-tier Ruby-based business rule engines, or building your application using the elegant Rake build tool. JRuby will help both Ruby and the JVM language benefit from all these possibilities.
The JRuby session will show you how to apply Ruby on the JVM to common use-cases. We will also show off projects that utilize JRuby and demonstrate the most compelling capabilities offered when Ruby and Java work together. You only need an interest in alternative JVM languages to come away with an appreciation of JRuby’s potential.