[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Proving Ruby's effectiveness

benjohn

7/25/2006 9:16:00 AM


Our company (2500 employees) has a development conference in a few
months. I want to present a talk about the effectiveness of Ruby. I've
been asked (at late notice, grrrr) to give concrete evendence about it's
applicability to different domains, and the productivity that it
provides. I'm not particularly interested in raw computing performance:
I want to show (if it's true) that projects built in Ruby will be:

Quicker to build,
Easier to maintain.

If there is a "sweet spot" for which that's true, then I want to be able
to talk about that too, and if there are holes, I'd like to talk about
them.

If you have seen an article that provides evidence of this, I would be
extremely obliged if you could pass me a link to it. Something peer
reviewed would be wonderful, but any reasonably believable research
would be good. I imagine that it would provide measurements from real
project in terms of the dreaded "man days"; "bugs" and "total cost",
etc; and would also give standard code metrics such as cyclometric
complexity, source code size, etc.

Thanks very much for any help,
Benjohn



5 Answers

Hal E. Fulton

7/25/2006 9:28:00 AM

0

benjohn@fysh.org wrote:
> Our company (2500 employees) has a development conference in a few
> months. I want to present a talk about the effectiveness of Ruby. I've
> been asked (at late notice, grrrr) to give concrete evendence about it's
> applicability to different domains, and the productivity that it
> provides. I'm not particularly interested in raw computing performance:
> I want to show (if it's true) that projects built in Ruby will be:
>
> Quicker to build,
> Easier to maintain.
>
> If there is a "sweet spot" for which that's true, then I want to be able
> to talk about that too, and if there are holes, I'd like to talk about
> them.
>
> If you have seen an article that provides evidence of this, I would be
> extremely obliged if you could pass me a link to it. Something peer
> reviewed would be wonderful, but any reasonably believable research
> would be good. I imagine that it would provide measurements from real
> project in terms of the dreaded "man days"; "bugs" and "total cost",
> etc; and would also give standard code metrics such as cyclometric
> complexity, source code size, etc.

This is probably only tangential to what you need, but if it is of
any value, here is an article from last year:
http://www.devsource.com/article2/0,1895,1778...

I suspect that numbers and stats such as your people want will be
hard to come by. My impression is that 99% of what is out there is
anecdotal reports and handwaving. (Frankly, outside the Ruby world
as well as within it.)

Here's an idea: Take 3-4 small programming problems (the kind you
might see in an undergrad ACM contest). Assuming you are proficient
in Ruby, challenge their people to do the same in Java or C++ or
whatever language. Time everyone to the minute (letting everyone
finish to his satisfaction). Run all programs against a comprehensive
test suite (to show how the other guys missed all the edge cases). ;)
Finally show how the Ruby code is 4 or 5 times as compact.

Just a thought.


Hal


benjohn

7/25/2006 11:30:00 AM

0

Hal:
> This is probably only tangential to what you need, but if it is of
> any value, here is an article from last year:
> http://www.devsource.com/article2/0,1895,1778...

Thanks Hal, I've seen that before, and it's a good piece of evangalism.

> I suspect that numbers and stats such as your people want will be
> hard to come by. My impression is that 99% of what is out there is
> anecdotal reports and handwaving. (Frankly, outside the Ruby world
> as well as within it.)

They are available for other languages though. The problem is that to
acieve them you need to do a pretty serious study comparing languages,
and this is expensive. Really, you want to do at least two studies:

A more academic one where you find experienced programmers in your
choice languages, and ask them to solve problems.

A more practical exercise where you take some real (and comparable)
projects, and look at how various languages and frameworks compare.

I know I've seen a somewhat anecdotal example of the latter in someone's
blog. It did have actual numbers in it though, and I got the impression
is was backed up by the business doing research for its management
because they cared about the bottom line.

> Here's an idea: Take 3-4 small programming problems (the kind you
> might see in an undergrad ACM contest). Assuming you are proficient
> in Ruby, challenge their people to do the same in Java or C++ or
> whatever language. Time everyone to the minute (letting everyone
> finish to his satisfaction). Run all programs against a comprehensive
> test suite (to show how the other guys missed all the edge cases). ;)
> Finally show how the Ruby code is 4 or 5 times as compact.

Perhaps one day I'll have the time and money to do that :)

Cheers,
Benj


Francis Cianfrocca

7/25/2006 5:25:00 PM

0

unknown wrote:
> Our company (2500 employees) has a development conference in a few
> months. I want to present a talk about the effectiveness of Ruby. I've
> been asked (at late notice, grrrr) to give concrete evendence about it's
> applicability to different domains, and the productivity that it
> provides. I'm not particularly interested in raw computing performance:
> I want to show (if it's true) that projects built in Ruby will be:
>
> Quicker to build,
> Easier to maintain.
>

Your company is very small, so perhaps the following comments don't
matter to you. But I think you can only touch part of the question with
code bake-offs and the like. Some people are interested in whether Ruby
is a better choice for relatively large applications that cut across
multiple domains and are typically written by and for the use of a
single organization. To assess this is a far more difficult question,
partly because "better" as used in the preceding sentence requires
careful definition, and partly because the raw data are not so easy to
collect.

Whether or not individual modules are easier to write in Ruby is a
question that we probably have the equipment to answer today. But for
large applications, I think most people just jerk their knees and assume
that dynamic languages simply can't cut the mustard, and I have an
unproven hunch that nothing could be farther from the truth.

--
Posted via http://www.ruby-....

Jeff Schwab

7/26/2006 2:33:00 AM

0

Francis Cianfrocca wrote:
> unknown wrote:
>> Our company (2500 employees)

> Your company is very small

2500 is "very small?" Very small was me and two other guys trying to
provide web services and sell ad space. :)

marcusb

7/27/2006 9:14:00 AM

0

I have recently written a white paper that you may interest you....

http://www.abletech.co.nz/white-paper-10-reasons-for-rub...

Hope it helps

Marcus Baguley