Verse Of The Day

Thursday, May 17, 2007

My Ruby Dilemna

To Ruby or not to Ruby?

I looked at Ruby a while back, maybe 2004/5-ish, when it was just starting to make a buzz. It seemed interesting because it was an object oriented scripting language. Loosely typed, to-the-point syntax, etc. I liked the concept, but ultimately I couldn't find a use for it to get me off the ground. When I really needed a shell script, it was quicker to just use ksh or bash and the standard array of unix utilities--awk, sed, cut, grep, etc.

Spare time is precious, and there are a lot of things besides programming to fill it with. And how often do you really get time at work to sit down and learn a new technology, pure R&D and personal development type stuff?

And if I do sit down to learn something new, should I really be spending time on a "toy" like Ruby when I could be brushing up on new Java stuff? Afterall, Java/J2EE are paying the bills, so shouldn't I be the best Java guy I can be, instead of dabbling in flavor-of-the-month technologies?

Then I saw a demo for Ruby on Rails. Wow, that blows the mind of a STRUTS/JSP/Servlet kinds of guy like me. It looks so cool, so fast, so easy, can it really be like the demo? It sparked my interest, but again, the buzz was that this was more of a "toy" than a real enterprise alternative, and lots of negative press was spent decrying lack of security and scalability, blah blah blah. Short attention span, drifting off, blah blah blah.

So now a friend of mine is diving head first into Ruby on Rails along with a few of his friends at work. His genuine enthusiasm has piqued my interest for a 3rd time. He is enthusiastic without being one of those zealots that are screaming loudly about how Ruby is going to kill Java or kill .Net or kill Python or whatever. No languages have to die here, people, it's just one more tool in the toolbox -- do you throw away your drill when you buy a new hammer?

And after all this time, Ruby is still out there and gaining support, so I can't really label it "flavor-of-the-month" or "toy" anymore. To be honest, I thought the same thing about Java back in '96/'97-ish when it was just being used to write applets embedded in HTML pages. I dabbled with some Java, but as a C/SQL/Motif programmer, Java seemed completely useless for real apps. I wasn't convinced until I saw the proof-of-concept office suite Corel wrote in Java -- whoa, real applications like drawing and word processing and spreadsheets running in a graphics "desktop" with icons and stuff! Now I write Java every day. So given that my judgement on this sort of thing sucks goat, I think Ruby, esp. Ruby on Rails, deserves another, more serious, look.

Using the instructions on this link, I was able to use Ruby GEMS to download and install Rails. Then a few commands and I got my sample skeleton project up and running. About 20 minutes worth of "work" while I sit here trying to figure out a production support issue for work. And here it is, my local server running my skeleton project....

And now, some links.....

Ruby Programming Language

Ruby On Rails

Ruby in 20 Minutes tutorial

Learning Ruby by comparing to languages you already know

More Ruby documentation

RDT Ruby IDE plugin for Eclipse

Why's Poignant Guide To Ruby

Using Oracle with Ruby

1 comment:

Jeff said...

You're learning it because you want to. I just started learning it because I have to...and in a round-about way. I have a client that wants to use Capistrano for code deployments between staging and production. While I don't necessarily need to learn Ruby, if things break or I need to get a little more fancy with the deployments, it'll only help to know the language.

The 20-minute tutorial is good and the "Ruby from other languages" helps a bit, too (personally, I used the Ruby from Perl.)

If you want to collaborate as part of a learning exercise, I'd be happy to help. I know I could use the help. :-)