Ruby

July 25th, 2004

Ever since becoming a fan of 37signals’ Basecamp, I’ve wanted to learn more about it. Basecamp is an excellent project management tool and a great example of what a web application is supposed to be. So much in fact, that 37signals has created a Building of Basecamp workshop that is sold out each time it is offered.

The internals of Basecamp have been a little ambiguous until recently when I learned that it was written entirely in Ruby. I’ve heard of Ruby before and it seemed similar to Python at first glance. Now I’ve been delving a little deeper and it appears that Ruby is even more straight forward than Python! This surprised me because a couple of years ago I rewrote a 200 line Perl script I used at work, and it resulted in a 40 line Python script. The entire Basecamp application is less than 4-KLOC (Thousand Lines Of Code), which for an application of it’s size and complexity, is next to nothing. Basecamp utilizes an open source web-application framework for Ruby, called Rails which just happens to have been written by the token developer of Basecamp.

I will be trying to learn more about Ruby (and Rails) in the near future, and I’m hoping that it can simplify my life by making life as a web application developmer easier.

For more resources on Ruby and Rails see:
Ruby Website
What is Ruby?
Rails Website
Rails Presentations
The Ruby Way
Ruby Garden
Resources for getting started with Ruby

2 Responses to “Ruby”

  1. Gilbert Lee Says:

    I’ve been reading quite a bit of Ruby lately (The Poignant’s Guide) and it makes me want to learn more about programming (in Ruby).

    Is Ruby something I can learn if I have no background in programming?

  2. Brian Says:

    Ruby is a great tool for a web application such as Basecamp, and would be great for web application development. There are a couple of potential problems that I can think of…such as:

    - When it comes to webhosting, Ruby is not supported as widely as is PHP. Therefore you would most likely have to colocate or run your own webserver.

    - It is a proper OO language, that might make it overkill for doing basic scripting on a website. For instance, some sites I’ve done only use PHP code for including files (to modularize the site), and for processing forms.

    As for learning Ruby, it might be harder simply because it isn’t as popular as PHP. The language is quite simple, yet it does have some specific syntax that would take some getting used to if you have already learned PHP.