I'm up at OSCON and have attended 4 sessions in the past two days. My favorite so far was the Rails talk.

David Hainemeier Hansson (the creator of Rails) did a great job presenting, and I was very impressed by the framework he has implemented. The main gist of Rails, that seems to be apparant throughout the whole app is offering the user an easy and defualt path. Here's one of his quotes (everything in quotes is direct):

"You don't have to follow [my conventions], but it's just so easy to do, why would you not?... [worrying about silly conventions] just doesn't matter that much."

He was very frank in expressing his disgust towards J2EE and other frameworks that are very explicit, noting that rails doens't have "a lot of configuration annoying you". The only configuation on this "convention driven system" shown during the demo was a yml file (no ugly XML here) for handling databases connections. By following David's "wonderful conventions" or "The golden path", there is almost no configuration for rails, everything "just works". There is no deployment step. You have instant gratification and feedback as you change you code. This allowed David to fly through his presentation, creating an AJAX enabled, password protected, blog, complete with commenting in under 3 hours. The ActiveRecord model is interesting, David admitted to me that he thought ORM systems break after you do anything non-trivial. Thus even though there is a "model" class, the actual model's state is stored in the database (and not necessarily reflected by the class).

David suggested that Rails probably worked better for green field development and that "I have no intention of bending backword for these schemes from the 80's" (referring to legacy systems and probably J2EE as well). I think it would probably be pretty easy to hook up legacy systems using web services though. To speak of web services David topped off his presentation with an RSS feed for his blogging tool.

And to top it all off, (and to follow up my previous post), Rails comes complete with an unit testing framework, and browser simulator. Very cool!

I was able to personally chat with David for a bit during a break. He admitted that he was hoping that someone would question him about scalability and how easy and simple it is (sadly there was very little time for questions afterward). He told me over 300 people have committed patches for rails and some have even done it the same day they downloaded rails (without any previous ruby experience), though there are only 4 guys who "know all the code". He was very complimentary on ruby's meta programming abilities, stating that he has an implementation of rails in php that was quite slow due to slow code generation (rather than changing classes on the fly he had to actually generate php files and reload them).

And finally I asked David about Python. He was complementary to the Django project and said if you were doing a CMS type system, it would probably be an excellent choice. Though he admitted that Rails was a better "generic" web development platform.