Jun

29

Steve Yegge wrote a blog post about his work on porting the Rails framework to JavaScript (Rhino). It is definitely an interesting project and I would like to see it open-sourced. Here are a few interesting quotes from the text:

* On Jython

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).

* On Rhino

The Rhino code base reads almost like C code: it avoids allocation and does as much as possible with jump tables to avoid the overhead of virtual method lookups. It has two code paths: a bytecode interpreter that runs in a tight loop, and an optimizing Java bytecode compiler that turns many expensive-ish JavaScript property lookups into Java local or instance-variable lookups. It’s a pretty serious piece of software.

* On open-sourcing the framework

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.

Jun

12

JRuby 1.0 has been released. Here are some notes made by Charles Nutter about future plans:

Once you have a working Ruby implementation, what next? I believe we’ve shown that the correct way to approach Ruby is to get it right first. The next step is making it run as well as possible.

The second item for any working implementation would have to be platform integration. Our platform is Java (and of course we’ve cheated a bit here by doing additional work to make Java integration really useful and usable), so integration involves making Ruby a better citizen of the Java platform.

And then what? Well, there are many options, all very attractive. I personally would like to see time spent implementing potential Ruby 1.9/2.0 features, to provide a second testbed where people can try those features out.

News

Community