From: Steven D'Aprano Date: 2008-12-31T11:19:30+09:00 Subject: Re: Why Ruby? On Tue, 30 Dec 2008 07:36:03 -0800, Phlip wrote: >> If you supply services to corporates, what sort of case can you make >> for using Ruby rather than Java, which is in use everywhere? (I'm not >> thinking of Rails here, which is a rather specialized). > > If "services" is a web api, why should they care what language you wrote > an application in? Put yourself in the shoes of the company paying for the software. There are many reasons why you should care about the language it is written in. Does the language make it easy or difficult to write correct code? How easy is it to maintain later? If the original developer gets hit by a bus, can you get somebody to replace him easily? What if he turns out to be a real prima donna, or gets bored halfway through the project and leaves? Is there is a shortage of developers in this language? Are you going to be reliant on a single lone-cowboy, or even a single company? What is the learning curve to train somebody new in the language? Is there a steady stream of new developers learning this language so you can maintain it years from now? If (when) the project goes over-budget and late, can you prove that you used industry standard practices? If you use some weird language nobody has heard of, and things go bad, will you be blamed for choosing a toy or experimental language not up to the job? Can you say, "anyone else would have made the same choice"? In five years time, or ten, will the chosen language still be supported and updated? Will there be security patches, or will it be abandoned? Generally, corporations are risk-averse. Their decisions are made more on the basis of "What if this goes wrong?" rather than "What's the best that can happen?". If you're risk-adverse, you're expecting that the project will end up late, over-budget or missing features, and let's face it, IT projects are notorious for doing all three. The IT world is full of people who will promise you the world, and then fail to deliver. Imagine you're not a developer yourself, or your only development experience was a bit of VB ten years ago, and maybe a few Excel macros. Why should you believe these brash young kids with their Ruby or Haskell or Python? Talk is cheap, and it's not their money being spent. That's the *rational* reasons. Of course there are plenty of irrational reasons too. But if you can't make the case for Ruby against the rational concerns, you certainly won't be able to get past the irrational ones. -- Steven