Monday, March 7, 2005

Ease of development, speed of execution, pick two

Posted by admin

Justin Gehtland has been working on an application using the Java/Spring/Hibernate/JSTL stack for about 5 months. He started redoing it in Rails as an experiment and found something surprising:

I’ve been able to re-implement 80% of the functionality in just under four nights of work. Some of that most assuredly has to do with the fact that I understand the domain pretty thoroughly by this point. But a lot of it has to do with the sheer productivity of the framework.

He attributes this to convention over configuration, and how the “…configure, compile, deploy, reset cycle for running tests is time consuming on my original stack, and non-existent with Rails”. But all that is just the familiar tune on “ease of development”. Here’s the real kicker:

Rails is actually faster.

At runtime, the Rails implementation is at least as fast as the original stack in almost every case, and for a not-insignificant portion of actions, actually performs better. I haven’t run benchmarks yet, but I will as this effort progresses, but I was shocked (shocked, I say) to discover this.

Justin is the co-author of Better, Faster, Lighter Java and Spring: A Developer’s Notebook.

Welcome on over, Justin! I can’t wait to read more about your adventures with Rails. And best of luck convincing your customer to dump the 5-month effort in favor of your 4-night rewrite. I’ll be cheering for you.