Now that I've read the rest of the thread and added a few comments, I'd
say if your friend is the only person responsible for his box(s) no big
deal. But if he is part of a larger team, and he is the only ruby
scripter around, he should not use ruby at all. Because after he's
gone,
it is going to be difficult for anyone to fix/change/maintain his code.
He should use whatever the group uses, and in most places that is perl.
Heretic, I know.
The point is he works in a group and other people
will have to maintain his code after he's moved on to other groups or
duties within his group, if he's the only ruby scripter, he's causing
a problem. If he's the only ruby scripter but he's going to train
his colleagues on how to write/maintain ruby, that's ok then.
I went through exactly the same problem at my place of work.
I was the first sysadmin to 'discover' Ruby at the end of 2001 and I was
working in an environment that was largely Perl-based. I, myself, was a
Perl programmer through and through at the time, but I was immediately
enchanted by Ruby's graceful style, flexibility and ease of use.
Unfortunately, all revolutions necessarily start with a single act of
rebellion, so I started to use Ruby for small projects that no-one else
was ever likely to touch. I used Ruby solely for systems and projects in
the corporate environment, knowing that I would be quickly shot down if
I tried to put any Ruby code on the production site.
At this time, I was very vulnerable, because I was the only Ruby coder
and I no argument I could have come up with would have countered the
very strong argument that a single sysadmin coding in a language no-one
else knows is a big liability.
At the same time, however, I realised that the alternative was for the
whole department to keep adding to an already crufty Perl code base and
that Perl's star seemed to be on the wane. I did not want the company to
get stuck with a mammoth legacy code base years from now.
So, I trusted my experience, which was telling me that this was
something we needed to do, and I kept coding in Ruby, making gentle
efforts from time to time to introduce the other sysadmins in the
department to it.
To cut a long story short, we're nearly three years down the road since
then and Ruby is now used by a good six or seven sysadmins in the
department. It hasn't replaced Perl, but it has shown itself to be a
worthy alternative and, in some cases, clearly superior for the task at
hand. In such cases, we have even had management encouragement to use
it.
The success hasn't been without pain, though. Once the number of
sysadmins using Ruby had risen to about three, we became visible and
management came down on us very hard. It has been an uphill battle to
reach the uneasy acceptance we have now. The departmental managers are
now fully behind us, however, leaving only upper Engineering management
unconvinced.
I used to put quite a lot of effort into putting Ruby under the nose of
the new sysadmins, but I no longer have to do that. There are enough
other sysadmins now wildly enthusiastic about the language that the
impetus at my company seems to have reached the critical threshold at
which it no longer needs to be nurtured. It now fuels itself and Ruby is
growing organically within the department without any input from me.
This is particularly nice for me, as I no longer need to feel that I'm
engaging in subversive activity when I introduce new employees to Ruby.
Nor do I have the burden of knowing that the language will forever have
marginal status if I don't make the effort to promote it.
In conclusion, the hardest part is going out on a limb and using Ruby
when there's little or no justification for doing so and you are the
only one doing it. Then follows a phase of vulnerability, when the group
of Ruby users is too small to be justifiable, but too large to remain
invisible to management. It's a very unpleasant feeling to be part of a
coding underground.
The only thing that gave me the will to indulge in all of the heated
internal debate and continue to fly in the face of management was the
belief that I was doing the right thing and that Ruby would, within a
few years, become a force to be reckoned with in the field of system
administration. We're not there yet, but the signs are definitely
visible.
It helps to be in good standing with management, too, I must say. If you
believe you were hired because you're an expert in your field and
people believe you make smart decisions, based on experience and good
judgement, then you have a good basis on which to build.
Ian
--
Ian Macdonald | Microbiology Lab: Staph Only!
System Administrator |
(e-mail address removed) |
http://www.caliban.org |
|