About a year or so ago, a friend of mine told me I should check out this new scripting language called Ruby (Hi Raul). He was digging on it. This was before Ruby was cool in the US.

At the time I was in the midst of learning Objective-C, but I told him I’d check it out when I could. Well, this holiday break I checked it out. Here is a brief run down of my take of Ruby and Ruby on Rails and a bit of software for the Ruby Curious.

Ruby is object oriented, cross platform, and integrates well with other languages (as a scripting language should). The syntax is easy to pick up, and is a mix between Java/C++ and Perl.

Ruby comes built into Mac OS X 10.4 (just type ruby –version in a terminal to see), and can be used as a replacement, or enhancement to perl, shell scripts, or applescript. Having it built into OS X makes it easy to learn and tinker. You just write and run. Nothing to install…ahhhh… it’s good to be da’ king.

For a quick intro to Ruby try this. And if you don’t have a Mac and don’t want to install Ruby you can play with this online interactive shell.

Now, Ruby on Rails, which I am sure you’ve heard about by now, is a framework for writing web applications using Ruby as the scripting language. Much like Coldfusion+MachII, ASP+Something, (JSP+Beans)+Struts, etc, but with a strong focus on Model / View / Controller. It’s important to note that the two are separate - I like Ruby, but I don’t think I like Ruby on Rails (I’ve just started playing though).

I like the concept, but the thing about Ruby on Rails I don’t like very much is the fact that you just run a bunch of scripts to generate a bunch of code. I guess I am old because I hate it when code “just appears”. They say Ruby on Rails is great because you don’t need any config files, but what you get instead is a bunch of scripts that generate code that the noob has no idea where it goes or what it’s really doing.

Script kiddie web development? If it is, that worries me a bit.

I am all for saving time, and it could be that I just don’t fully understand it yet, but I’ve been burned by WSAD generated bean code too many times to just buy into this…

For a perfect example check out the “create a blog in 15 minutes” movie. He keeps saying “Notice I am not writing any code”, but tell me - what the hell are all those scripts he keeps running generating? Hopefully he knows what they are doing, and I hope the Rails developers do too.

In my opinion scripting is good to save time, but only *if you know what the scripts are saving you from*. Blindly running scripts to create code you don’t edit or understand seems like a recipe for disaster to me.

Slight rant aside, I’ve only been playing with Rails for a couple days and the jury is still out for me until I really understand what is going on. I do encourage you to check out Ruby and Ruby on Rails despite my vocal bias back there.

To try out Rails:
Instead of setting up a whole development server, setting up a database, and messing with Apache to get the whole Ruby on Rails environment going check out locomotive . It’s a full Ruby on Rails development server complete with a copy of Ruby, an integrated web server, and an sql server all on one dmg (Free). It wont mess with your system settings, Apache, or your local OS copy of Ruby. Plus, if you don’t like it you can just delete the app file - no harm no foul.

To edit Ruby (+Rails) code you can use Afae($), or Textmate($) which integrates with locomotive (and is the editor used in the above movies), or you can try a Ruby on Rails Eclipse plugin (Free), or BBEdit, or whatever.

In my opinion, there is something to the hype. Ruby is simple, fun, easy to learn, and powerful - I don’t know about Rails yet though.

Comments

This entry was posted on Friday, December 30th, 2005 at 12:34 am and is filed under Ruby, Web Apps. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

1 Comment so far

  1. Rob Rohan on March 19, 2008 9:13 pm

    This is a test of open ID

You can either use your OpenID, and have your comment posted straight away:

OpenID URL

Or you can use the classic way (comments are moderated)

Name (required)
Email (required)
Website
Share your wisdom
  • Recent Comments