Rhino on Rails — cover art: a contented storybook rhinoceros riding atop a small Victorian narrow-gauge steam train, the locomotive ahead puffing soft white steam, the rails curving through a sunlit meadow.

2007 · Stevey's Blog Rants · Announcement

“Apparently getting John Lam'd is worse than getting Slashdotted.”
— From Rhino on Rails, June 2007
Read the essay

© 2007 Steve Yegge. Originally published at Stevey's Blog Rants.

AI Notes

Steve gave an improvised Foo Camp talk — by his own account ten minutes after crawling out of a tent, hung over and unshowered — about porting Ruby on Rails to Rhino, Mozilla's JavaScript engine on the JVM. John Lam blogged it, and the inbox crush followed; this essay is the bulk reply. The body is half project announcement, half disclaimer. Steve's project at Google's Kirkland office needs a Rails-style web framework, has to run on the JVM, and has to use one of Google's four production languages (C++, Java, Python, JavaScript). That rules out Ruby. Jython has stalled, lagging Python by several major versions. Rhino is in better shape: a spec-rigorous interpreter, a Java-bytecode-compiling optimizer, well- defined multithreading, and Sun is now bundling it as javax.script in Java 6. So Steve ported essentially all of ActionView, ActionController, Railties, and a sliver of ActiveRecord to Rhino — using a Pickaxe book, a lot of Emacs keyboard macros, and no code generator. The closing tease — NBE, a "bona-fide magic trick" he can't yet talk about — is The Next Big Language, which shows up in print eight months later.

An early entry in Steve's 2007–2008 server-side-JavaScript-on-the-JVM argument. Rhino on Rails is the announcement; Rhinos and Tigers is the Google I/O keynote a year later; Dynamic Languages Strike Back is the Stanford defence.

Related listings

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.

2007-06 Steve Yegge ported Rails to JavaScript John Lam on Software

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.

2007-06 Steve Yegge Ports Rails to Javascript/Rhino InfoQ

The news write-up of the announcement, situating it against earlier server-side-JS Rails clones (TrimPath Junction, Phobos, Helma).

2007-06-25 Google Bites Thumb at Ruby; Ports Rails to JavaScript Ruby Inside · Peter Cooper

The Ruby community's read on Google routing around Ruby rather than adopting it.

2007-06-27 Rhino on Rails rc3.org · Rafe Colburn

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.

2008-02 Further Insights into Rhino on Rails InfoQ

An interview revisiting the port eight months later, with Steve calling it "a transitional thing."

2008-02 Interview with Steve Yegge on Rhino on Rails and more Google Developers Blog · Dion Almaer

A video interview taking in Rhino on Rails, dynamic languages, and the JVM.

2010-02-06 Ask HN: What became of Steve Yegge's "Rhino on Rails"? Hacker News

Three years on, the project still unreleased, the community asks where it went.