These concerns are exactly the ones I was asked at the first two companies where I wrote ruby. They are valid concerns and whilst they didn't prevent me from using ruby they certainly influenced my career sucess. Managing these forces requires skill at persuasion and marketing, a lical track record, and good luck.
···
Sent from my iPhone
On Dec 30, 2008, at 9:19 PM, Steven D'Aprano <steve@REMOVE-THIS-cybersource.com.au > wrote:
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