Friday, March 31, 2006

Become a Ruby developer in 30 days or less

You've heard the Ruby hype. You've considered looking at the language. But, where do you get started?

Lesson 1: Pickaxe is the name we use to refer to Programming Ruby.

Homework: Go immediately to pragprog and purchase either the Pickaxe combo or the pdf version. Work through the book as soon as possible.

Lesson 2: You don't have to develop exclusively in Ruby to utilize the power of Ruby. Even if your project is in another language you can use one of Ruby's frameworks for the other tasks that your project will require.
  • Rake: Convert your project's build file to Rake as soon as possible. Rake is an internal DSL that allows you to create a build file with minimal effort. However, Rake allows you to use the full power of Ruby at any time if your task becomes more complicated.
  • Data Migration: Instead of keeping your database creation scripts in .sql files, give ActiveRecord Data Migrations a try. Using Data Migrations allows you to specify the structure of your database in Ruby. Also, at any time you can generate the sql files if they are needed. More info: UnderstandingMigrations. (Thank you Chris Stevenson for this idea)
Homework: Find a currently ugly task on your current project and replace it with a better Ruby implementation. The task doesn't have to be something as large as the entire build file or data migration plan. Simply replacing problematic batch file or generating a config file dynamically are great places to start.

Lesson 3: When you want to learn more about Ruby you should pair with other Rubyists. Ruby User Groups are great places to meet Rubyists. RubyGarden maintains a list of Ruby User Groups world wide.

Homework: Meet a Rubyist at your local Ruby User Group and ask them if you can pair with them on their current open source ruby contribution. When you meet, immediatly insist on driving. There's no better way to learn than being in the driver seat.

Congratulations, you are a Ruby developer. You likely already were much before 30 days, but I had to give you enough time to get to that monthly user group meeting. You now have permission to annoy the world with your constant reminders that Ruby is better.

1 comment:

  1. Anonymous7:39 PM

    Some other ugly tasks that can be solved with Ruby in a non-Ruby project:

    * data migration
    * deployment automation
    * monitoring
    * reports
    * test automation
    * admin interfaces (for app's metadata)
    * any other kinds of data munging and mechanization that is not deployed to production


Note: Only a member of this blog may post a comment.