One of the first talks that I went to at Foo Camp was called "Google Rails Clone" by Steve Yegge. With a title like that, how could I resist?
Google uses four different programming languages: C++, Java, Python, and JavaScript. Apparently, nobody likes writing web front ends in Java, not even Google who has a lot of web front end code in Java.
In an effort to increase developer productivity at Google, Steve tried to convince the company to adopt Rails (and consequently Ruby) as a programming language. When that fell on deaf ears (Google really does not want to increase the number of languages that must be supported by their infrastructure), Steve decided to do what any other frustrated programmer would do: he ported Rails to JavaScript. Line by line. In 6 months. Working 2000 hours. Steve is a coding stud.
It runs on top of the Rhino JavaScript engine that runs on the JVM. He also fixed some bugs along the way, and tightened up security considerably (lesson: working with your security organization in the early stages of a framework, even a port, saves you tons of time and pain later). You can see how Steve became rather enamored with JavaScript, when he proclaimed that it would become the Next Big Language.
Maybe it will be. The forthcoming optional static typing in EcmaScript 4 will also give his Rails implementation a big performance boost.
This is seriously cool. Thanks for sharing the story!