The path to Ruby enlightenment - Part I »
FERDY CHRISTANT - JAN 3, 2007 (06:08:38 PM)
One of the promises I made to myself in this new year is to learn Ruby and Ruby on Rails. I am lured into this language and framework by its claim of drastic productivity increasement for web development. On top of that, it is hyped a lot. Consider me curious.
During the last days, I took some beginner steps that gave me a basic understanding of what it is all about. If you share my curiousity, the following may help you get started:
Much of the hype is about Ruby on Rails, which is a framework that runs on top of Ruby, the programming language. With this in mind, it makes sense to first learn about the Ruby language. I took a brief look at it by going throught the Ruby in 20 minutes tutorial. Quite a modern, flexible language it seems. However, most concepts appear similar to other modern languages, with slight syntax differences.
It was only later that I discovered that the Ruby language offers the flexbility to make a framework like Ruby on Rails succeed. I took a deep dive into three excellent O'Reilly articles to get started with my Rails education:
That's more like it! It takes some time to wade through the articles, but it's worth it. I can now see why Ruby on Rails is so super productive. It has a philosophy of automation over configuration, a philosophy of standardization over too much choices, a philosophy of focusing on what it's all about: features. This approach feels so natural and obvious, that I wonder why other platforms don't have this. I'm starting to get it.
On to some more inspiration. I watched all three screencasts on the Ruby on Rails site. The first one explains how to create a weblog application in 15 minutes. The guy talks awfully fast, and the presentation is obviously well prepared, but still...I'm blown away.
The third one extensively demonstrates how easy it is to work with database schema and data migration in Rails. It is a bit deep for now, but, it is obvious that somebody put a lot of thought into this.
I'm convinced. I need to learn this. I'm greatly inspired by the above resources, but also realize that only proper study and practice will lead to these productivity improvements. With this in mind, I will set myself a target to develop a Ruby on Rails application this year. Most likely, it will be published on s3maphor3.org, so that others can benefit from it.
I collected some other resources that look valuable, but I have not checked them out yet:
InstantRails: a full preconfigured Ruby stack, including database server.
Agile web development with Railse: one of the best-rated Rails books.
Four days on Rails (PDF): detailed tutorial on creating an example Rails application.
Railse Weenie: Rails forum.
Rails code: Rails code snippets.
Howtos in Ruby on Rails: recipe-like Rails examples.
We live in exciting times.