JRuby

In progress. This will be a general source for all things JRuby. Currently, only the buzz section is available...

A little bit about JRuby:

JRuby is an alternate language for the Java platform. It is based on Ruby, a programming language developed by Yukihiro "Matz" Matsumoto. As stated on the RubyCentral homepage (see Resources), Ruby is a programming language that "combines the pure object-oriented power of the classic OO language Smalltalk with the expressiveness and convenience of a scripting language such as Perl." It is a relatively mature language, known for its clean, intuitive syntax and semantics and transparent, developer friendly programming model.

JRuby is a pure Java implementation of the Ruby interpreter. Like most languages discussed in this series, JRuby is both powerful and easy to learn. It incorporates the sophisticated text-processing of Perl, the iterators and closures familiar to Groovy developers, and the rapid development features of Jython and other languages discussed in this series. JRuby is also an interpreted language, so it can be run from the command line or used to evaluate simple expressions or blocks of code on the fly.

While JRuby doesn't try to be all things to all people, it certainly takes advantage of some of the milestone features found in its predecessors to form a powerful yet syntactically simple language. Unlike most languages discussed in this series, JRuby combines most of its powerful features into a single package. For example, JRuby combines iterators with text-processing features, making it relatively simple to write powerful yet intuitive parsers. It also lets us use functions as first class data types, which we can combine with blocks or closures to expand our classes to handle much of the grunt work typically left to loop constructs and more traditional iterator classes (like those found in the Java Collections framework).

JRuby is also tightly integrated with the Java platform, incorporating the convenience and flexibility of the Java class library. Because it supports modules and classes it is well suited to scalable and robust application development. JRuby can be used to script Java classes and can also be embedded (via the interpreter) directly into Java applications. Both Ruby and JRuby are open source languages, freely available for development and deployment.