Ruby, Ruby, When Will You Be Mine?

Opinion: Like the song "Ruby Baby" and its various renditions, some aficionados of the Ruby programming language are putting their touches on Ruby for all to enjoy.

"Ruby, Ruby, when will you be mine?"

Thats a line from "Ruby Baby," a song written by song-writing duo Jerry Leiber and Mike Stoller in the 50s. The Drifters were first to record it, but later, among others, Dion, Billy "Crash" Craddock, Del Shannon, The Beach Boys, Bjork and my favorite, Donald Fagen of Steely Dan fame, all did renditions of the song.

And just as those artists made the Ruby Baby song theirs and spun it for their audience, software development artists are spinning the Ruby language to make it "theirs" so it can appeal to their constituents. Theyre taking the core code and building on it, branching it out and launching their efforts on .Net, the Java platform and elsewhere.

Already this year theres been a lot of movement on the Ruby front. February, in particular, has been a busy month for Ruby and its offshoots.

JRuby, the project aimed at creating an implementation of Ruby on JVM (Java Virtual Machine), is nearing a 1.0 release and is expected to drop a new release some time next week (early March), leaders of the project said.

Core developers Charles Nutter, Thomas Enebo, Ola Bini and Nick Sieger are working on the JRuby project and will deliver a release, which will "probably" be called Version 0.9.8 to signify that there will only be one more release before JRuby goes to 1.0, Nutter said. He said to expect JRuby 0.9.9 in a couple of months.

/zimages/7/28571.gifSun reports progress on its Ruby on Java effort. Click here to read more.

Ive developed something of a fascination with dynamic languages and how theyre being used. Both Microsoft and Sun have been working to add support for dynamic languages on their respective platforms.

In a blog post following Suns hire of Nutter and Enebo last September, Tim Bray, Suns director of Web technologies, said, "Wed like to ensure that the Ruby programming language, in its JRuby form, is available to the community of Java developers. … There is a possibility that the Java platform may prove to be an attractive deployment option for existing Ruby applications in certain scenarios."

Meanwhile, Nutter said the JRuby project will announce, possibly as soon as this week, that JRuby supports the popular Ruby on Rails Web development framework. Ruby on Rails is sometimes referred to as RoR or simply Rails.

"Were trying to finish off the last few test cases so we can claim that more than 95 percent of core Rails tests passed across the board," Nutter said.

Moreover, the JRuby team is inviting Rails developers to try out real-world usage of JRuby and help them find any Rails issues the unit tests do not cover, or any remaining failures that are crucial for real applications, Nutter said.

Support for Ruby on Rails is important because "once Rails can run on JVM alongside other Java apps, existing Java shops will have a vector to bringing Rails apps into their organizations. They wont have to toss out the existing investment in servers and software to go with the new kid on the block," Nutter said.

In addition, Ruby on Rails applications running on JVM will be able to access existing services and libraries without any translation or remoting layer.

"More and more Web developers want to use Rails and may have trouble finding work because its such a new area," Nutter said. "But if Rails can run on the predominant server platform, theyll have many more opportunities."

Indeed, Ruby on Rails has already helped change the face of Web development, as evidenced by frameworks like Grails—an open-source Web framework that uses the Groovy language. "Making [RoR] a first-class citizen of the Java Web family will continue that revolution, since the original innovator will now stand shoulder to shoulder with the giants of Java Web development," Nutter said.

However, Nutter says, there is another issue that is only recently coming to light: Rails on JVM will bring Java developers to Ruby, he said.

"I believe that although Rails is a great framework, full of really innovative ideas, its not the end for Ruby," Nutter said. "Its Rubys power and flexibility that have made Rails possible, and were just seeing the first wave of remarkable software to come from the Ruby world. I want to see Ruby everywhere, especially on the Java platform, so that the second wave empowers as many developers as possible. And I think that second wave is coming soon."

Also, NetBeans 6.0 Milestone 7 features Ruby support, and the next release of JRuby will include more bug fixes, more performance work and more improvements overall, Bini said.

Nutters desire to see Ruby everywhere is hastened by efforts like the Gardens Point Ruby.Net Compiler—an effort to create a compiler for the Ruby language that targets the .Net CLR (Common Language Runtime), Microsofts equivalent to JVM.

The Ruby.Net project, headed by professors John Gough and Wayne Kelly at Queensland University of Technology in Brisbane, Australia, announced a new beta, Version 0.6, earlier this month.

Like the JRuby effort, the Ruby.Net team is going after support for RoR. "We have just started work on getting Ruby on Rails to run on Ruby.Net and have started work on adding interoperability features to allow .Net programs written in other languages to conveniently use Ruby components and vice versa," the Ruby.Net team said in a statement. "We hope to include some of these features in the next public release."

The Queensland team announced an earlier beta last June, but they have pledged to deliver public releases more frequently from now on, possibly monthly.

John Gough, speaking at Microsofts Lang.Net symposium last July, said Ruby.Net consists of two main parts: the compiler and a runtime library.

In another show of activity around Ruby, the Ruby on Rails project reached Version 1.2 in January and is now on Version 1.2.2 as of early this month.

"Rails 1.2 is a significant release thats the result of some eight months of work since Version 1.1 premiered," said David Heinemeier Hansson, creator of RoR. "Its packed with hundreds of fixes, features and tweaks."

Next Page: Whats hot in Rails.