* Joe Van Dyk said:
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.