Ruby on Rails
I attended a presentation yesterday that introduced Ruby on Rails. I've been hearing a lot of buzz about it, but it wasn't entirely clear to me what it was or why it was so great.
Ruby is a programming language. Rails is a web application framework written in Ruby.
Some of the stuff that Rails does is very slick. For example, there's no need to define in your code what the structure of your database table is. Simply tell Rails to connect to the database -- it'll parse the tables and automatically create objects for each of the tables. It's possible to write complex database-powered applications without writing a single SQL query. Neato.
The presenter showed an example of using a "scaffolding" to quickly create the base classes for an interactive application. In less than three minutes the presenter had a functional database-powered app, and he didn't write a single line of Ruby code himself. The scaffolding created the classes, and generated the necessary code to accomplish at least minimum functionality. I was impressed.
I doubt I'll be digging into Ruby on Rails any time soon, though. For one, I'm not keen on installing Ruby and whatever it requires. I'm also not keen on learning yet another programming language, especially since I'm still a long way from anything other than an amateur PHP coder. And finally, I don't really see myself dealing with (m)any of the problems that Rails was designed to solve. That said, the motto "convention over configuration" really resonated with me.
I might look harder at CakePHP, something which was mentioned to me recently. I told some friends I was going to the Rails presentation, someone said "Cake PHP!", and I just blinked a few times. Not knowing what was so swell about Rails, it wasn't clear to me why anyone would want to replicate it for PHP. Having now seen what's so swell about Rails, I do sort of want some of that for PHP!