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.

July 3rd, 2006 at 1:26 pm
Yukihiro Matsumoto noted that he wanted to minimize his personal frustration while programming — that was his primary goal when designing Ruby.
I think everyone should learn a new technology every eighteen months. If you don’t know Ruby, it’s an ideal candidate for your next exercise.
July 26th, 2006 at 3:48 pm
[…] I had a lot of positive and negative responses to my most recent blog entry comparing Ruby to Perl and Python (Newbie to Ruby?) In fact, I had one guy go to the next level by creating a forum about me and the validity surrounding my intelligence of programming…since I am just in marketing. It’s ironic that this same guy wrote an entry on his own blog about shampoo and conditioner; more specifically marketing Herbal Essence. Maybe I should create a forum questioning his knowledge of hair products (and masculinity )…since he is just a programmer. My overall point is that I think Ruby and Rails are great at what they do but ultimately you should chose whatever technology is the most comfortable for your core development team. That being said, I am again discussing Ruby…this time with a Rails focus and have elected to follow a more impartial approach. […]