Fellow Monks, I offer this meditation in light of my recent journies.

I've taken the oft given advice to explore other languages. I have lashed my leash to Java and made big rocks into little rocks, and the little rocks into sand. On the side I played played with Squeak with which I cemented the sand back into a big rock. So I continued my search for the right tool for a very large personal itch that needs vast quantities of reusable prototypes. This hunt lead me to Ruby.

In this poll post dated October 27th kapper stated the question, "I am quite suprised that nobody has mentioned Ruby?". Which recieved very little attention maybe because the thread Ruby broached the topic already and it too got little attention.


Yukihiro Matsumoto, a.k.a "Matz" (Ruby's creator) makes this (shamelessly out of context) statement in the forward of the book Programming Ruby (Online Version ), "Then I remembered my old dream, and was toying with it at work. But gradually it grew to be a tool good enough to replace Perl".

That sure put me on the defensive from page xxi.

Now after my initial tinkering with it and reading the first 100 pages or so I'm positive this is definately much more than just another Parrot and in fact I've got to say that looking at a singleton in Ruby fits the way my brain works far easier than by looking at a singleton in java, c++, smalltalk, or Perl. (I do hate that new is a mandantory constructor though -- I really like that about Perl OO).

sub instance { my $class = shift; no strict 'refs'; my $instance = \${ "$class\::_instance" }; defined $$instance ? $$instance : ($$instance = $class->_new_instance(@_)); }
class Logger private_class_method :new @@logger = nil def Logger.create @@logger = new unless @@logger @@logger end end

IMHO trying to get Ruby to replace Perl is not the correct way to attract prospective users though. I think Perl will continue to evolve as the most colorful code with which an artist can apply his paint because Perl is as much culture and resources as it is code.

Ruby is very clean to work with (So far) and its OO implementation seems to be much cleaner than even Java's. For me the real question always comes to scale, but by scale I imply code maintenance and support equally with performance. As most of the usage data is on Japaneese pages (and I'm really lazy) I don't have any data to look at on that front.

So the jury is still out -- though this gem has definately caught my eye. (I fear I am becoming a shameless language slut. I don't think I want to find a language good enough for my project -- then I'd have to work on it.) I do think they might want to edit that forward though. It's a tad bold for such a young language that has yet to feel global pressures of popularity and evolution.

However Ruby is looking very intriguing.