Getting Ruby approved

Hi,

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

Thanks,
Joe Van Dyk

Joe Van Dyk wrote:

Hi,

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

On the one hand, all Turing-complete languages are equivalent.

In a more practical vein, sometimes there are libraries/packages
with which you need to interface, making some language a more
natural choice than others.

Neither of these points sells Ruby. What sells Ruby is the
productivity that programmers have when they use it.

This is only my opinion: I don't consider Perl as being on a level
with Ruby in this respect, and Tcl is not even close. Python, I
think, is very similar to Ruby in terms of productivity. I am not
familiar with Guile.

In case it helps any, you can refer to my article on devsource.com --
it was written partly to sell the idea that Ruby is now mainstream.

Hal

"Joe Van Dyk" <joevandyk@gmail.com> schrieb im Newsbeitrag
news:c715e640503311845762a6cc2@mail.gmail.com...

Hi,

I'm trying to get Ruby added to one of the "supported" OSS tools at

Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

Not exactly a package... But reuse is more likely with Ruby than with
Perl simply because in a year from now you'll be still able to read and
understand the code you write today quickly.

Kind regards

    robert

Hi,

···

On Mar 31, 2005 11:45 PM, Joe Van Dyk <joevandyk@gmail.com> wrote:

Hi,

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

Ruby has closures, better low level support (Ruby/C), better OO
support, better core developers and better community, along with the
better libraries and overall language. :slight_smile: Tell them that they can
dump all the other languages and use only Ruby. :slight_smile:

Cheers,
Joao

Though it's not a direct answer to your question, I tend to agree with
some of the other replies that if you try to "sell" Ruby to your
co-workers (or the higher-ups) by comparing it to other languages'
features and applications, you're fighting a losing battle. I for one
would love to be there when you try to explain to your boss that
Boeing should adopt Ruby because it has closures. :wink:

Having said that, if you haven't seen it already, you might want to
take a look at Andy Hunt's presentation on "Ruby Insurgency"
(presented at the first Ruby Conference back in 2001):

    http://www.pragmaticprogrammer.com/talks/Ruby/RubyInsurgency.pps.zip

This is sort-of the approach that I'm using here at work (where most
of our development work is done in Java), in an attempt to introduce
people to Ruby. I use Ruby for a lot of little maintenance tasks
involved in building our code, and when someone asks "How did you do
that?" or, "Can I get a copy of that program?", it gives me an
opportunity to tell them a little bit about Ruby.

Hope this helps,

Lyle

···

On Mar 31, 2005 8:45 PM, Joe Van Dyk <joevandyk@gmail.com> wrote:

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

In article <c715e640503311845762a6cc2@mail.gmail.com>,

···

Joe Van Dyk <joevandyk@gmail.com> wrote:

Hi,

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

_ For me the biggest productivity gain between ruby and perl is
when you need to write modules to interface with existing
libraries. This is about a 1000 times simpler in Ruby than perl.

_ Booker C. Bense

* Joe Van Dyk <joevandyk@gmail.com> [2005-04-01 11:45:41 +0900]:

I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"

Having introduced Ruby at a company and having been successful in
having it replace Perl, I can tell you that the process may take
some time. Most of the comments in this thread have been right on.
As mentioned earlier, Andy's Insurgency talk gives good advice about
how to procede as an individual, but eventually, you need 'mind share'.

The 'mind share' can come in several ways.
1) From a boss who mandates Ruby.
2) From a group of respected developers who prefer to use Ruby.
3) From a kick-but application (or two) that is written in Ruby
    (accompanied with a pleased manager).
4) From a good app that is written in near zero time
    (also accompanied with a pleased manager).

#1 can be affective for moving a political agenda forward, but it
doesn't do anything for internal committment from developers.
#2 takes time, but is where you eventually want to go. #3 and #4
can be done by yourself.

It was interesting to see, in the beginning, that I got some of
the same questions, "How does Ruby differ from Perl", or
"What does Ruby offer that Perl doesn't?". Now, the questions
are reversed. For the occasional person that doesn't use Ruby,
he is bombarded with "Why didn't you use Ruby for that project?"

My main approach to management was on concepts. These concepts,
interestingly, have not changed over time:

1. Scalable
2. Readable/Maintainable
3. Reusable

I would suggest some seminars where you demonstrate/teach Ruby,
and include a segment on these items as motivators for Ruby.
And I often tell people, yes, there are thousands of languages
out there that one could use, and I would suggest that one always
use the best language for the job. It just so happens, that for
the kind of work that we do, Ruby is the best language. This will
bear itself out over the course of time. In addition, Ruby plays
very nicely in a corporate environment.

Of course, it doesn't hurt to have a sense of humor. When I went
before the VP to present an abstract on a Ruby course I developed,
I got the question, "What is Ruby?". I knew that a technical description
would be lost. So I had to use something he was familar with.
So, my reply was, "It is a fully object-oriented scripting language.
Some describe it as Perl's prettier, younger sister." That got a good
chuckle. And, it didnt' hurt that the abstract had almost every
conceivable topic for what we use scripting languages for.
It was readily approved, and after several people had taken the
course and began using the language, many of the old Perl die hards
came to me in private and declared that they were never going to
program in Perl again. You can't buy or mandate that kind of allegiance.

···

--
Jim Freeze
Code Red. Code Ruby

I was asked this question: "The question is, is Ruby bringing
something extra to the table, that we can't do with Perl, Python, Tcl,
Guile? E.g., are there OSS packages that we want to use which need
Ruby?"
I mentioned Rails and DRb as being the most useful applications of
Ruby to me. But can someone help me out with more?

Sneaking Ruby in to the office wasn't a big deal for me.

When they asked me to do something impossible whilst also meeting an
insane deadline, I told them that I would do it, but I would use my
own toolset.
I migrated poorly designed database schemas and all the data in them
from different sources (including old dbase tables), enforced
integrity in the target database and created a user interface for them
to query and review the new database.

Tools: Ruby, Debian Linux, Postgres

They were thinking from a VC++ or Java mindset, they just couldn't do
that in less than a week using those tools. (heck, not in less than 4
weeks)
Common sense and having a good toolset (instead of THE hammer) always helps.

I could have probably accomplished the same results using a Mac, but
at a much higher cost and less attractive ROI (the sort of thing
marketing types like to babble about).
I just used a spare PIII machine that was otherwise showing a 3d screensaver.

Doing what's otherwise impossible will always work.

cheers and good luck,
                                           vruz

Show them the 10x productivity claims :slight_smile: If you find anything that
shows that you can increase productivity by three-fold, you'll have no
trouble selling it to them.

···

On Fri, 1 Apr 2005 11:56:17 +0900, Hal Fulton <hal9000@hypermetrics.com> wrote:

Joe Van Dyk wrote:
> Hi,
>
> I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.
>
> I was asked this question: "The question is, is Ruby bringing
> something extra to the table, that we can't do with Perl, Python, Tcl,
> Guile? E.g., are there OSS packages that we want to use which need
> Ruby?"
>
> I mentioned Rails and DRb as being the most useful applications of
> Ruby to me. But can someone help me out with more?

On the one hand, all Turing-complete languages are equivalent.

In a more practical vein, sometimes there are libraries/packages
with which you need to interface, making some language a more
natural choice than others.

Neither of these points sells Ruby. What sells Ruby is the
productivity that programmers have when they use it.

This is only my opinion: I don't consider Perl as being on a level
with Ruby in this respect, and Tcl is not even close. Python, I
think, is very similar to Ruby in terms of productivity. I am not
familiar with Guile.

In case it helps any, you can refer to my article on devsource.com --
it was written partly to sell the idea that Ruby is now mainstream.

Hal

To save you the search:
http://www.devsource.com/article2/0,1759,1778695,00.asp

I'll 2nd Hal's comment, it's the ease of use, and more importantly
"readability" that sold me. Having done quite a bit of perl in the
past, I love Ruby's clean look and the fact that I can read code that
I haven't looked at for a month or more (especially since I only use
it occassionally).

···

On Fri, 1 Apr 2005 11:56:17 +0900, Hal Fulton <hal9000@hypermetrics.com> wrote:

Joe Van Dyk wrote:
> Hi,
>
> I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.
>
> I was asked this question: "The question is, is Ruby bringing
> something extra to the table, that we can't do with Perl, Python, Tcl,
> Guile? E.g., are there OSS packages that we want to use which need
> Ruby?"
>
> I mentioned Rails and DRb as being the most useful applications of
> Ruby to me. But can someone help me out with more?

On the one hand, all Turing-complete languages are equivalent.

In a more practical vein, sometimes there are libraries/packages
with which you need to interface, making some language a more
natural choice than others.

Neither of these points sells Ruby. What sells Ruby is the
productivity that programmers have when they use it.

This is only my opinion: I don't consider Perl as being on a level
with Ruby in this respect, and Tcl is not even close. Python, I
think, is very similar to Ruby in terms of productivity. I am not
familiar with Guile.

In case it helps any, you can refer to my article on devsource.com --
it was written partly to sell the idea that Ruby is now mainstream.

--
Bill Guindon (aka aGorilla)

And you have forgotten about bf or even better Intercal. They are
funnier, more useless, but lays less claims than you did above.

Regards,
Adriano.

P.S. "Thou shall not be arrogant", unless thou want people very far from you.

···

On Apr 1, 2005 8:42 AM, Joao Pedrosa <joaopedrosa@gmail.com> wrote:

Ruby has closures, better low level support (Ruby/C), better OO
support, better core developers and better community, along with the
better libraries and overall language. :slight_smile: Tell them that they can
dump all the other languages and use only Ruby. :slight_smile:

Sorry for being ironic at first. But it would be better to rephrase
as: "Tell them to give Ruby a try and soon they can dump all the other
languages."

Adriano.

···

On Apr 1, 2005 8:42 AM, Joao Pedrosa <joaopedrosa@gmail.com> wrote:

Ruby has closures, better low level support (Ruby/C), better OO
support, better core developers and better community, along with the
better libraries and overall language. :slight_smile: Tell them that they can
dump all the other languages and use only Ruby. :slight_smile:

interesting. i see a lot of messages here along the lines of 'which
gui kit should i use with ruby'...and then everyone pipes up with
their favorite...

of course by then in tcl/tk land, we've already finished coding up our
interfaces :slight_smile:

i had a client tender for a very specific one-time utility. they asked
in house c++ and java programmers, and externally my name came up
because of the local perl work i've done...

when i read the specs for the program they wanted i told them they
could have it in an hour if they didn't care about which language it
was (they were expecting perl from me at that point).

i used tcl/tk...the interface, which needed a certain arraignment of
widgets, took maybe 5 minutes to code up (a RAD tool at this point
would have slowed me down). the rest of the code was trivial.

so the language that was 'not even close' brought me over $1000 in
less than an hour. tcl/tk really is a sleeper language. i'm amazed
that it's not more popular than it is outside of comp.lang.tcl

i'm still deciding on a permanent gui api for ruby :slight_smile:
http://home.cogeco.ca/~tsummerfelt1
telnet://ventedspleen.dyndns.org

···

On Fri, 1 Apr 2005 11:56:17 +0900, you wrote:

Neither of these points sells Ruby. What sells Ruby is the
productivity that programmers have when they use it.

This is only my opinion: I don't consider Perl as being on a level
with Ruby in this respect, and Tcl is not even close.

Lyle Johnson wrote:

Though it's not a direct answer to your question, I tend to agree with
some of the other replies that if you try to "sell" Ruby to your
co-workers (or the higher-ups) by comparing it to other languages'
features and applications, you're fighting a losing battle. I for one
would love to be there when you try to explain to your boss that
Boeing should adopt Ruby because it has closures. :wink:

Boss; "So does Perl!"

···

--
  Phlip
  http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces

Combine this with the 10x productivity gain you'd get by throwing
Rails into the mix, and that boosts one person's productivity up to a
staggering 10,000x. With that kind of horsepower you'd only have to
work, what, one day every 27 years or so?

···

On Apr 1, 2005 9:54 AM, Booker C. Bense <bbense+comp.lang.ruby.Apr.01.05@telemark.slac.stanford.edu> wrote:

_ For me the biggest productivity gain between ruby and perl is
when you need to write modules to interface with existing
libraries. This is about a 1000 times simpler in Ruby than perl.

I've not written C modules in Perl or Python. How does Ruby compare
to them in that respect?

···

On Apr 1, 2005 7:54 AM, Booker C. Bense <bbense+comp.lang.ruby.Apr.01.05@telemark.slac.stanford.edu> wrote:

-----BEGIN PGP SIGNED MESSAGE-----

In article <c715e640503311845762a6cc2@mail.gmail.com>,
Joe Van Dyk <joevandyk@gmail.com> wrote:
>Hi,
>
>I'm trying to get Ruby added to one of the "supported" OSS tools at Boeing.
>
>I was asked this question: "The question is, is Ruby bringing
>something extra to the table, that we can't do with Perl, Python, Tcl,
>Guile? E.g., are there OSS packages that we want to use which need
>Ruby?"
>
>I mentioned Rails and DRb as being the most useful applications of
>Ruby to me. But can someone help me out with more?
>

_ For me the biggest productivity gain between ruby and perl is
when you need to write modules to interface with existing
libraries. This is about a 1000 times simpler in Ruby than perl.

On the one hand, all Turing-complete languages are equivalent.

To a computer, yes. To a computer programmer no. Languages like
unlambda and BF exist partly to prove this point.

In a more practical vein, sometimes there are libraries/packages
with which you need to interface, making some language a more
natural choice than others.

A few years ago this was what made me (reluctantly) write a bit of
code in Java rather than in Ruby. Three years ago there did not exist
a Ruby library for Jabber as full-featured as the one for Java.
Looking back I think perhaps it might have been a better strategy to
have written that library for Ruby myself, now that the Java code has
evolved into something of an unmaintainable morass...

Neither of these points sells Ruby. What sells Ruby is the
productivity that programmers have when they use it.

Amen. To add fuel to the flames, I've recently been asked by a client
to justify the use of Ruby for our project development, and I've
written some of the arguments that I mentioned to them (and a few
more) in my blog here:

http://stormwyrm.blogspot.com/2004/12/why-ruby.html

Well, they were convinced, and we're gonna slowly convince them to
move from Perl little by little... :wink:

···

On Apr 1, 2005 10:56 AM, Hal Fulton <hal9000@hypermetrics.com> wrote:

If your company's ROI is that sensitive to ROI it's time to leave :-). Mind you there's no point in spending more money than you have to, nor buying new hardware if you have it lying around.

J.

···

On 03/04/2005, at 7:39 AM, vruz wrote:

I could have probably accomplished the same results using a Mac, but
at a much higher cost and less attractive ROI (the sort of thing
marketing types like to babble about).
I just used a spare PIII machine that was otherwise showing a 3d screensaver.

vruz wrote:

Sneaking Ruby in to the office wasn't a big deal for me.

Before releasing MiniRubyWiki, I got a gig using it. [Un]fortunately, the
shop had a "more is better" policy - they already used Lua, Perl, C#, MFC,
etc. Their other thought leaders were using Python as the Smarter Perl.

When they asked me to do something impossible whilst also meeting an
insane deadline, I told them that I would do it, but I would use my
own toolset.
I migrated poorly designed database schemas and all the data in them
from different sources (including old dbase tables), enforced
integrity in the target database and created a user interface for them
to query and review the new database.

Tools: Ruby, Debian Linux, Postgres

They were thinking from a VC++ or Java mindset, they just couldn't do
that in less than a week using those tools. (heck, not in less than 4
weeks)

Same experience. They gave me a legacy Perl test-runner, and I installed MRW
as its GUI almost instantly:

http://flea.sourceforge.net/gameTestServer.pdf

Then, whenever I worked in Ruby my velocity was super-high, and working in
the Perl test-runner was super slow.

The Perl was written by a total newb. But even after I refactored the snot
out of it, and got it under test, it was still the boat anchor in my daily
workflow. I could have rewritten it in Ruby in a few days, but they were
days I could not ask for.

···

--
  Phlip
  http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces

Adriano Ferreira wrote:

Sorry for being ironic at first. But it would be better to rephrase
as: "Tell them to give Ruby a try and soon they can dump all the other
languages."

It doesn't work like that with technology approval boards, I'm afraid.

Where I work, these decisions are made by Perl lovers. To them Ruby must sound like Yet Another Perl Wannabe, sans the libraries. I once got Python through the system by getting an approval to use Grinder 3. My reasons were:

1. No license to pay for (as opposed to mega-expensive Mercury LoadRunner)
2. Can take to customer site where customer doesn't want to pay the aforementioned megabucks
3. Already used on customer site at customer's own demand (which is an enlightening story about relative merits of commercial capture-playback tools vs a decent programming language).

I believe the author of this thread wants something like this, too.

P.S. In case anyone wonders... I use Ruby "unauthorized", which means I cannot ask to have it installed on a server, so I get to use Net::whatever a lot :slight_smile: Ruby anyway cannot talk to Oracle on HPUX, so I don't bother to have it there.

···

On Apr 1, 2005 8:42 AM, Joao Pedrosa <joaopedrosa@gmail.com> wrote:

--
Best regards,

Alexey Verkhovsky

Ruby Forum: http://ruby-forum.org (moderator)
RForum: http://rforum.andreas-s.net (co-author)
Instiki: http://instiki.org (maintainer)