Wednesday, November 02, 2005

Chasing simplicity in programming

A new article on c|net discusses the new phenom "Ruby on Rails". Quotes from the article:
Like Java did a decade ago, Ruby on Rails is getting developers excited by making them more productive

The vision of Ruby on Rails, or RoR, is to combine the speed and ease-of-use of scripting language PHP with the "clean," structured approach of Java

Java Enterprise Edition software is a "complex monstrosity" that's hard to learn

Research company Burton Group recommends that corporate customers consider Ruby on Rails for new Web development projects

We took a pretty radical stand: Stored procedures and all things that make your database clever are evil

3 comments:

Anonymous said...

The most compelling quote is the one one stored procedures ....

Seems out of context for the discussion .... I read the article and still did not get his point...

That idea is not new .... especially to those of us building complex, fast systems.

Maybe you can elaborate....?

sundog said...

I'm about halfway through the "Agile Web Development with Rails" book and at this early stage in my Rails education I have to say that their object relational mapping framework, ActiveRecord, exemplifies some of the RoR design concepts. When talking about rails the phrase "convention over configuration" is often quoted. This is in full effect when doing ORM. Basically, rails does a lot of runtime inspection of the database's metadata and then dynamically adds properties to the domain model to match what it finds in the database. So unlike Toplink or Hibernate which use XML metadata (or Java 5 Annotations) to map a class to a table, Rails says I'll figure out what you want based on the naming conventions of the database. To get an idea of the productivity of this approach consider the task of adding a new persistable property to your domain model. It's as easy as altering the table. This model embraces the idea of the domain model and the relational model being intimately coupled. So back to the point of using stored procedures. It simply doesn't fit their convention for doing ORM. While other frameworks support persistence to legacy data models and the idea of using stored procs, Rails simply says no way.

Anonymous said...

It's taken me a while, but I finally get it. I had to work through some basic RoR tutorilas first .... (I still have it, eh!?!).

This is great stuff and important work. Definitely an evolution ... an extension and changing of the general thinking based on the current art. I love it!

Marc