Ruby, the popular open source dynamic language, is making headway not only on Java but also on the Windows and Mac platforms.
Appearing at the RubyConf event in Burlingame, Calif., on Friday afternoon, Engine Yard officials offered insights on JRuby, which puts Ruby on the JVM (Java Virtual Machine). JRuby also functions with Windows. Apple personnel at the conference detailed MacRuby, which puts Ruby on Mac OS.
JRuby 1.4.0 was released November 2, featuring a native executable capability for Windows.
“Over the years, we realized that we’ve been basically ignoring the Windows platform because we don’t really like the Windows platform,” said Charles Nutter, co-leader of the JRuby project with Thomas Enebo at Engine Yard. Both previously led the project at Sun Microsystems.
But most of the world’s developers still run Windows, especially in the Java world, said Nutter. Proponents of JRuby are going to have make sure it can work on Windows, Nutter said. “We finally realized we can’t ignore that side of the world,” he said.
“I think JRuby may actually be the easiest way to run Ruby on Windows right now,” said Nutter. JRuby previously has worked on Windows, but version 1.4.0 cleans up a lot of bugs pertaining to Windows, Nutter said.
Also featured in the JRuby upgrade are more than 300 bug fixes and an embedding API.
Future plans for JRuby include cleaning up performance issues, offering a new optimizing compiler and JVM integration parity with other languages, such as Groovy. Also planned is support of the Java 7 invokedynamic capability, to improve how Ruby does method calls. Code will run faster via this capability.
“JRuby really is the enterprise Ruby,” Nutter said. Plans also are moving forward to enable development of JRuby applications via Engine Yard’s cloud platform, he noted. JRuby also works on Google’s Android platform.
Separately from JRuby, IronRuby exists as a version of Ruby for Microsoft’s .Net framework, relying on the Microsoft Dynamic Language Runtime.
In the Mac space, the open source MacRuby project is intended to provide an optimized and integrated version of Ruby for Mac OS X and be compatible with Ruby programs. MacRuby leverages Apple’s Cocoa technology, which provides an Objective-C-based programming environment for Mac OS X.
Concurrent programming, for managing multiple threads, is featured in the MacRuby effort via the GCD (Grand Central Dispatch) technology in Mac OS. “I think [GCD] is really going to make Ruby a great language for doing concurrent programming on the Mac,” said Ernest Prabhakar, open source product manager at Apple.
Incremental releases of MacRuby have been occurring since March 2008. MacRuby is compiled by default and uses the LLVM (Low Level Virtual Machine) project for just-in-time and ahead-of-time compilation.