Ruby's awesome (was "Re: [Leaplist] Linux not on the list of
losers! Not surprised.")
Bill Anderson
bill at noreboots.com
Mon Jan 22 03:49:36 EST 2007
On Sunday 21 January 2007 21:39, Steve Litt wrote:
> On Sunday 21 January 2007 21:16, Damien McKenna wrote:
> > On Jan 21, 2007, at 7:32 PM, Bill Anderson wrote:
> > > I'd add Ruby to the list, personally.
> >
> > Ruby's awesome. What's not to like?
>
> Well, it performs as expected, so life isn't as exciting as with Perl.
I prefer to refer to Perl work as drudgery, not excitement, but that's me. ;)
> It enables you to easily transfer information from runtime to compiletime,
> making things too easy.
Can you be more specific?
> Its object model is built in and sound, so you don't get to show off your
> clever kludges.
It's not the only one with a good object model Perl is notoriously bad about
object orientation (and threading, and good IPC) so I'd hope you aren't
basing that judgment on Perl. ;)
How does one tell "good Perl" from a kludge (clever or no) in Perl, anyway?
> It has built in iterators, so you can't do stuff like this without
> reinventing the wheel:
> for(p=buf; (*p=((p == buf) || *(p-1)==' ' ? toupper(*p) : *p))!='\0'; p++);
Again, other languages have built in iterators as well. Some even have good
object models, threading support, iterators, generators, etc..
Every time I've ever asked someone else for an evaluation of why Ruby, the
answer is invariably "it makes things so easy!". But when I ask them to do
something that is not easy on it's own, I get blank stares and even less
performant or accurate products. Seems everyone I deal with that "does Ruby"
really means "ruby on rails". Well, I'm talking about *Ruby*, which is
different. Being able to mock something up quickly is one thing (and great
for getting the press to fall over itself in praise for you), but getting
down and dirty with real problems is much different.
Ruby is IMO being driven by a love of RoR, and gives strong indications of a
crash or flash in the pan effect. As people turn from RoR to Ruby they get a
rather rude (I am told) awakening that things aren't so rosy.
I don't dislike or hate Ruby (though the same can't be said for much of it's
televangelists). But as I've learned, it is a far cry from what it is
proclaimed to be. Hence, overrated.
Perl however ... disgust and pain is what I get when I try to think positively
on it. The closest I can get to a positive though on a Perl script is "Ooh,
an opportunity to rewrite a complete mess into something useful, readable,
and maintainable". That gets old fast, though. Forutnately, I'm encountering
less of that these days as Perl is slowly fading from the forefront in the
systems I deal with (Enterprise messaging and system tools for wha tit
matters).
Now briefly on performance, I often hear (in and out of Ruby discussions) that
the answer to the mythically proportioned "scales well" is to add more
servers. In every discussion I've seen or participated in regarding Ruby or
RoR performance, the answer is always "more servers".
But this is not as easy as RoR/Ruby/LAMP crowd makes it sound. If the app
needs to scale out over multiple machines while not fully utilizing the first
on, it's not scalable, nor performant. Second, the cost of another machine is
more than the dollar sum of it's parts.
Anyway, I'd better get back to work.
Cheers,
Bill
More information about the Leaplist
mailing list