Proving Ruby's effectiveness

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

[email protected] wrote:

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,1778695,00.asp

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). :wink:
Finally show how the Ruby code is 4 or 5 times as compact.

Just a thought.

Hal

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,1778695,00.asp

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). :wink:
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 :slight_smile:

Cheers,
Benj

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.

You didn’t mention whether you would be doing any web development with
your
company because if you are there are tons of rails comparisons showing
the
productivity gains using ruby and rails over other things.

One well documented study by Justin Gehtland

and here is one from Michael E. of Gusto.com

http://lists.rubyonrails.org/pipermail/rails/2006-March/025290.html

Jeff

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

http://www.abletech.co.nz/white-paper-10-reasons-for-ruby-on-rails

Hope it helps

Marcus Baguley

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs