Proving Ruby's effectiveness

B

benjohn

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
 
H

Hal Fulton

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

Just a thought.


Hal
 
B

benjohn

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). ;)
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
 
F

Francis Cianfrocca

unknown said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top