Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

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.


In reply to Ruby: An Abbot breaks silencewind by coreolyn

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2023-12-01 01:07 GMT
Find Nodes?
    Voting Booth?

    No recent polls found