Rails Logo A couple of weeks ago, I decided to dig into Ruby on Rails. With all the excitement around this web framework, I though it worth a try. I’ve always been dissapointed with all frameworks on the market and especially Java frameworks — limited, too static and not enough productive. Ruby on Rails takes a different approach to web development.

What makes me first interested in Ruby on Rails is the programming language — Ruby is a very high-level dynamic and object-oriented language. I’ve been convinced for years that high-level languages are the only way to go for next generation software. They offer more expressive power and thus more productivity. I often use Common Lisp for programming but I feel at home with Ruby. The Common Lisp community also offers similar frameworks but Ruby on Rails is complete and it’s always good for an engineer to look at others projects.

The out of the box experience of Ruby on Rails is what makes all the buzz and I’ve to admit that it’s very pleasant to build a little working application in minutes without setting up a lot of things.

Ruby on Rails implements well-known enterprise patterns but doesn’t try to abstract too many things. You’re in control of every single step of your development. Rails projects are very well structured and the framework focus more on code generation than on packaged software components; that makes the framework very flexible to change and customization.

Rails still lacks good documentation and maturity in some points but is already working pretty well. I’ve started to use it for a new web project I’m working on and starting from scratch, it took me only 4 hours to build the core of my application — with all web pages and database back-end. A pretty good performance. I still have a lot to learn but the community seems to be very active and the development of Ruby on Rails on track for the 1.0 release.

What makes me feel confident for the future is the number of growing web applications made with Ruby on Rails, the support of respected people in the software development field — Paul Graham, Martin Fowler or Bruce Perens — and the release of very similar frameworks for PHP or Python following the path.

Even if Ruby on Rails doesn’t make it to the mainstream, it’s a killer app that demonstrates the value of dynamic languages. We all know it takes times for the industry to accept changes and new technologies. Java has made garbage collection widely accepted in the industry, a crucial aspect that many dynamic languages have failed to impose. If Ruby on Rails can make more advantages widely accepted, that would be a big win for every developer.