From: Jim Freeze Date: 2002-07-18T14:39:50+09:00 Subject: Re: Selling ruby to my boss On Thu, Jul 18, 2002 at 10:14:18AM +0900, Francis Hwang wrote: > So I've just started working as the sole programmer at a non-profit > which is heavily internet-based. Most of the code is in PHP or Perl, > and I would like to gradually migrate it to Ruby over time. > > I get a lot of leeway in this job, but this sort of a decision is > probably the sort of thing I'd have to justify to my boss, who's > likely to be nervous about it. Not about my ability to be more > productive with Ruby, but with the fact that Ruby is an uncommon > language compared to PHP and Perl. So if I get hit by a truck, or if > the organization expands and needs to hire new programmers, or when > we're looking for interns, it will be harder to find programmers who > know Ruby. > > Anybody have any advice as to what I can say him to make him less > nervous about making such a transition? > Maybe not as much talking as doing. I have experienced similar comments, and it is understandable considering programming languages heretofore. Ruby just doesn't fit any existing mold. Dave Thomas has some slides on his website of a presentation of Ruby to a Perl group. The title slide describes Ruby as a transparent language. And it is. Learning Ruby is not an issue. As said earlier, it can be learned in a day by a good Perl programmer. I would alter that a little. One can grasp the essentials in a day. Within a week you can be comfortable with 95% of the language fundamentals. At that time, I think most people could define their programming in Ruby as-productive-as or more-productive-than any language they previously knew. It may be pointless to address the issue directly to your boss, but it is such an easy target. :) This may not be a (or the) real issue. It may be the first one he came up with. But it is one that can be covered en-mass in a presentation to your company. My personal take on this type of comment is not that you have a language that is unfamiliar to people and it may be difficult to find people to maintain the code-- the issue is code maintenance. Maintenance is best addressed with well defined coding standards, clear requirements/functional/ design documentation, and most importantly, a comprehensive set of test cases(Ruby really excels here). Language is not in any of the top four categories. The humerous part of the original statement is that perl is not very readable. In fact, it can be a write-only language. I'm sure you have heard of the saying- "When I wrote that code (in perl) only God and myself knew what it said. One week later, only God knew what it said." At my company, there has been a tremendous expense trying to ressurect old perl code. I myself have been programming in Ruby for over a year now and I manage a programmer who is using Ruby. We have other developers who use skill and perl and I have attended code reviews for all three languages. There is no question that Ruby code is easier to maintain. One interesting aspect of Ruby, even non-programmers are able to sit in on a Ruby code review, understand what the code is doing and make suggestions. That is not always true with Perl and Skill--even with experienced programmers. Well, sorry to be so long winded. I hope some of this helps. Good luck in your efforts. -- Jim Freeze If only I had something clever to say for my comment... ~