Rails
I’ve lately started playing with a web framework for Ruby called Rails. It’s not that I’m a huge fan of Ruby. I like Ruby. I learned it about 4 years ago sitting on a beach in Mexico. Ruby is a really cool language full of exciting features but I much prefer the feel of Python. Python just seems cleaner and more mature (to me).
Until recently I’ve been doing most of my web development as Python CGIs or using CherryPy. CherryPy is awesome and makes building web applications very very slick. I wouldn’t have even tried Rails except for the huge amount of press it’s been getting lately.
Installing rails on Debian took a bit of tinkering. I was able to use the Ruby Gems package management stuff but I didn’t like installing stuff without using APT. Finally I noticed rails does exist in Debian Unstable so I grabbed it from there.
I haven’t had much time to play with Rails yet but so far I am extremely impressed. It’s not as simple, fast or easy to install as CP2 but it’s very full featured. Like I read on another blog there is nothing in Rails that is revolutionary and can’t be done with Python. What makes Rails stand out is that it is a complete solution and all very consistent and well integrated. It handles the web server, business logic, layout separation very cleanly and it also includes a very slick object relational mapper that integrates nicely with everything.
So anyways I’ve been tinkering with it a bit on my Simply-Organized.org website and got a working contact manager type application up and running within a few hours of work. Rails literally generated most of the code for me. Most of the time was spent tweaking the layout files. It all just works and like the promotional material says…. No configuration files. Yay!
So far I’m really loving Rails. I can see this making a lot of the work I do on bigger applications almost trivial. I’ll still stick to my Python stuff for the little scripts because it’s easier and faster but this is very cool.

