Atlas · Details
Rhino on Rails
AI Notes
The announcement everyone came for occupies maybe a third of this essay. The rest is Steve, two years into his Google tenure, explaining why the place works: the four-language fence, the mandatory design docs, the ease of switching teams, the 20% culture that had Rhino's original author Norris Boyd (newly a Googler himself) helping modernize his own old engine. The affection is so unguarded — he compares himself to a teenager golfing free at a rich uncle's country club, and works in two separate send-me-your-resume asides — that the piece doubles as a recruiting flyer, and reads now as a snapshot of what Google looked like from inside in 2007. When the technical case arrives it is specific and still instructive: Java couldn't stomach Rails' hash-literal APIs, Jython had been coasting since 2001, and Rhino turned out to be a far more serious piece of engineering than its reputation suggested. Ruby itself gets a slapstick cameo, snuffling up to Google's electrified playground fence, hair standing on end.
Practitioners will want the porting details: no code generator, just Emacs keyboard macros, and an attempt to work from the Pickaxe book's description of Rails abandoned once Steve concluded that "Rails is its own most succinct implementation." The bet underneath — JavaScript as a serious server-side language — looked eccentric in June 2007; within five years it was orthodoxy, which makes this a better prediction than it was an announcement. He closes by promising a status update in exactly one year, deadpan guaranteeing that nothing newsworthy will happen to the framework in the meantime, then signs off teasing an entirely separate secret: a home project he will only call "NBE."
Related listings
-
2008
Rhinos and Tigers
A year on, Steve gives the Google I/O talk that turns Rhino on Rails into a public engineering argument. Rhino on Rails is the announcement; Rhinos and Tigers is the keynote.
-
2008
Dynamic Languages Strike Back
The Stanford companion talk. Rhino on Rails is the project; Dynamic Languages Strike Back is the long-form defence of the project's premise.
-
2006
Execution in the Kingdom of Nouns
The Java critique that motivates putting JavaScript on the JVM in the first place. Kingdom of Nouns is the diagnosis; Rhino on Rails is one of the prescriptions.
Press & impact
The talk that triggered all this was improvised; the reaction was not. John Lam blogged Steve's Foo Camp aside, the trade press picked it up within days, and "Google ports Rails to JavaScript" ran through the Ruby and Java blogs for the better part of a week. A second wave of interviews followed in early 2008. The project itself never shipped publicly — which is its own long tail: the trail below ends with the community, three years on, asking where it went.
The 2007 reaction
The Foo Camp report that started the inbox crush, and the trade-press cycle that followed it over the last week of June.
The Foo Camp write-up the essay opens by blaming — "getting John Lam'd is worse than getting Slashdotted." The original iunknown.com post is gone; this is the Wayback copy.
The news write-up of the announcement, situating it against earlier server-side-JS Rails clones (TrimPath Junction, Phobos, Helma).
The Ruby community's read on Google routing around Ruby rather than adopting it.
Follow-ups and long tail
A second round of interviews in early 2008, and — three years on — the community noticing the port never saw a public release.
An interview revisiting the port eight months later, with Steve calling it "a transitional thing."
A video interview taking in Rhino on Rails, dynamic languages, and the JVM.
Three years on, the project still unreleased, the community asks where it went.