The latest, greatest thing which has come into vogue and has everyone buzzing (well the buzz has been growing steadily for a few years now), is Ruby. On or off Rails, the word is out and its pioneers are raving that it’s the next best thing since sliced bread….or Java. Well, I love rubies; that is the “I was born in July and it’s my birthstone ruby.” I wasn’t sure how I would feel about the other Ruby, but seeing that July (and my birthday!) are approaching I was curious enough to see what this proclaimed “gem” is all about.

Ruby, created by Yukihiro “Matz” Matsumoto can best be described as a pure object-oriented programming language with a super elegant syntax that makes programming fun. Fun and elegant? Hence the name choice? Actually, Matz wanted to use a jewel name for his new Perl-inspired language so he named Ruby after a colleague’s birthstone…before even realizing that a pearl (June) precedes a ruby (July) in the birthstone calendar too.

So why should I learn another scripting language? This question is better warranted when looking at it through a Perl versus Ruby perspective. To start, since Ruby’s code base was originally borrowed from Perl, programmers can easily migrate over to Ruby. Ruby kept all that was best about Perl, added workable OO features, and improved and simplified the rest. Not only do programmers feel they get more satisfaction (and have more fun!) programming in Ruby, but learning and maintaining Ruby is far more functional. This Perl of Perl is making the transition of learning this new language easy to justify.

What about Python? Both Python and Ruby attempt to improve on Perl. Both have a similar feature set, similar programming styles, and both essentially serve the same purpose. Matz originally designed Ruby to be more object-oriented than Python, but in recent versions Python’s OO has become more extensive. Becaues of this the battleground between the two really isn’t over the language but more the web framework space. Ruby has Rails (RoR). Python has many…TurboGears, Pylons, Django, Zope – just to name a few – by the way, who came up with these names? In essence you have all these developers spreading themselves among Python’s cornucopia of frameworks. Can the Python myriad possibly keep up to pace with the innovations of Rails?

The hype that the Ruby community has created certainly is helping to distinguish its magnitude in the land of programming languages. Ruby is poised to become the next big thing…with Rails in position to overtake Java as the language of choice for the web tier. Love to love it or love to hate it; clearly Ruby has made tremendous strides and in the end its existence will be secure for some time to come.