Sun, Ruby, and Java: An Interesting Turn of Events

Wow! Sun has hired Charles Nutter and Thomas Enebo to work on JRuby full time. This is a pretty momentus event, and is already sending shockwaves around the Ruby world.

Charles broke the news on his blog. He's very excited, not just about getting hired but also about Sun's take on Ruby and dynamic languages. In his post, he said:

You can imagine how excited I am about this opportunity, and how pleased I am to know that Sun takes Ruby so seriously. Not only will I get to work on the project I've poured my heart into this past year, but I'll be able to do it while helping one of my favorite companies turn a technological corner. Naturally I've been talking with a myriad of folks at Sun over the past several weeks, so believe me when I say these guys really get it. The tide has turned and dynamic languages are on everyone's agenda. It's going to be quite a ride.

We have a mandate to look at improving the Ruby tool landscape, but our primary jobs are improving JRuby. In that vein, anything we do will help both Ruby and JRuby.

Tim Bray (who was the driver behind the hire) also posted a FAQ about the announcement, including the question that's on everyone's mind:

Will they work on JRuby full time? — Yes, but they also have a mandate to think about developer tools. Right now, developers who use dynamic languages like Python and Ruby are poorly served, compared to what Java developers have.

JRuby isn't the only alternative implementation of Ruby, I've asked Kevin Tew, the developer on the newly reborn Cardinal project (Ruby on Parrot). I posted all of his answers here but wanted to share this snippet with you.

"I'm a big believer of the positive influences that diversity and new blood can have on a project. I think each new implementation of Ruby is an added benefit to the community as a whole. . . . I'm excited to see what new ideas will come from JRuby, given Charles and Thomas's new elevated status."

I also talked to Eric Hodel from the metaruby project. Here are a couple of his thoughts (the rest of his answers are here):

Rails brought an explosion of interest in ruby and brought a bunch of fresh ideas. I don't think all of them were healthy ideas, but many of the language features were re-examined with fresh eyes and lots of neat stuff came out of it. I imagine a bunch of Java developers joining the language will have a similar impact, but the community may have to educate them as well.

"To the rest of the world: Buckle up folks. . . I'd say we are about to witness something truly spectacular in regards to the competition in the VM space and therefore a better overall world of computing as a result."

"[T]he real 'why' of emphasizing the Java platform is that the richness of the libraries and APIs and the utility of the JVM can be laid as foundations for other languages. Get them targeting the JVM and developers can use some of what they already know in going between language platforms. By this past spring, there were heads nodding that this was a good idea."

"This obviously fits well with our strategy to support multiple languages on the JVM, and in particular, dynamic and scripting languages. In fact, Charles and Thomas is joining the group I'm in, so hopefully a lot of the tool support we have built to support BASIC will also benefit JRuby. Going forward there will probably be a lot of cross pollination."

You can read an interview with Charles and Thomas before they were hired here, with outtakes here and here.

Update

There's beena recent spate of "What's in it for me?" conversation on the ruby-talk mailing list. I've tried to address the pros and cons on my blog. Hopefully, this can help more people understand why this move of Sun's is a good thing for Ruby.

Tom Nichols schrieb:
> Not to bash JRuby, but has Sun shown any 'official' support to the
> Groovy project? I would have thought Groovy has a lot more potential
> in terms of interoperability, since it reuses Java standsrds such as
> beans and servlets. I've been wondering for a while (for real, no
> flamewar intended) what does (J)Ruby have that Groovy doesn't?
>
> On a similar note, I keep hearing a lot of different things about
> Sun/Java6 supporting different scripting languages as the 'standard.'
> Groovy has a JSR, J6SE will ship with Rhino (which is understandable,
> I guess, since it's more lightweight than Groovy). I heard something
> about a PHP reference implementation on the Java scripting API, and
> then BeanShell has a JSR as well.
>
> Can someone straighten me out here?

my last information was, that Sun doesn't want to support any of these
officially to not to side with any of them and make the others angry...

Now that looks like a lie to me. Ok, they decided different.

I see also negative effects for groovy, because which company should
support Beanshell or Groovy now, when Sun is putting their attention on
JRuby... Or to say it different... what should I answer a CEO when I am
asking for financial support, when he asks me why he should support
Groovy, when Sun does support JRuby? I really don't know what I should
say here :(

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.