InfoQ took the opportunity to speak with Steve Yegge, who was kind enough to answer some questions about the effort, but was quick to point out that he speaks for himself and his opinions, not for Google as a whole, and that those reading this should not infer any deep Google-spanning conclusions.
First and foremost, many of you have asked how you can get your hands on the project; whether and/or when this effort would be made public and/or open-sourced. Steve said this was something they've talked about and may consider in the future, but that it wouldn't be likely to happen soon:
We've talked about open-sourcing our "Rhino on Rails", but so far it's been no more than idle chit-chat. For one thing, work on the framework plays second fiddle to work on the actual application, so it's progressing slowly, mostly as 20% work. For another, we're dependent on various other Google infrastructure components that are themselves in the process of being open-sourced, although I don't know if any of them have been announced yet.
The real key, though, is watching to see what happens in the Rails-ish web framework space on the JVM. There are plenty of other Rails clones out there in varying stages of maturity, including JRuby on Rails, Grails, Phobos, TrimPath, and probably half a dozen others.
If one of them emerges over the next couple of years as the dominant player, and it meets Google's internal quality bar for security, performance, scalability, internationalization support, and so on, then we'd be fools not to consider the possibility of migrating to it.
Maybe it'll be big, and maybe it'll be a throwaway that never makes it outside our team, let alone out the door as open source, but I think we're years away from knowing either way. Platforms take a long time to mature, and the web-framework space is really churning right now.
Hence, any public-facing release of it is dependent on the open-source market conditions over the next 2 to 3 years, and also depends on how well the thing catches on internally at Google, which we won't know for a year or so
On Rails, and the whether or not Rhino on Rails is a 'port' or simply a framework inspired by rails:
As it happens, I kinda like Rails. I like Ruby, too, independent of Rails. But for making web pages, Rails is the nicest thing I've used. And given the surprising number of titles available about our heroine Rails and her mute little woodland creature sidekicks Prototype and Scriptaculous, not to mention the vast number of Rails clones out there in other languages, I'd say DHH was really on to something unique and significant when he created it. Kudos.
Talking about why he didn't just use Ruby on Rails directly:
So I couldn't use Ruby. I needed to be on the JVM for interoperability with the rest of our code base. (Take my word on this one -- it's not something I could have solved by RPC calls; I needed to be running on the JVM itself for this.) Being on the JVM rules out C++ and (native) Python.
Between the choice of JVM languages, Steve Yegge describes the choice between Java, Jython and Rhino:
Looking at the Rails APIs, which typically pass around hash literals as parameters, it didn't seem like Java was going to be a particularly good match. Ruby has no method overloading, and both Ruby and Rails have all sorts of conventions for passing varargs or block (function) parameters. Java's different enough from Ruby that the impedance mismatch might have killed the effort, so I decided to stick with a dynamic language.
Jython seemed like the obvious choice at first, except that it hasn't had much momentum since around 2001. It used to be arguably the best non-Java JVM language around; Jim Hugunin did an amazing job with it. Unfortunately it's had almost no love in the past six years, and it's now lagging the Python spec by several major versions (2.2 vs. soon-to-be 2.6).
And on the subject of JVM languages in general:
Any Groovy-Google love?
Re: Any Groovy-Google love?
I've seen awesome things done with Groovy. I've gotta wonder if they've really considered using it. I gotta say the language is pretty stable with 1.0 out, and Groovy in Action (aka GINA) is more or less considered 'the spec'.
Re: Any Groovy-Google love?
Isn't this too much work?
A friend of mine, when I told him about this, replied with "Why invest so much work into something that exists already?" ... must be quite a place, at google, to make such a drastic investment worthwhile.
Re: Isn't this too much work?
Was this pulled from his blog, or was his blog pulled from here? :)
Some of the former. After John Lam posted, a lot of people reacted, including us here at InfoQ. Steve Yegge was kind enough to answer some of our questions in a series of emails although he let us know that, given the volume of the response from 'the public', he was going to blog on this himself.
In the end, the final version of this article is based partially on the information he passed on to us directly and partially on the information he published himself on his blog, as well as John Lam's post and the reactions from the community at large.
Anatole Tresch Mar 03, 2015