[[WARNING:: This post may be a little long]]
I recently had a discussion with our Operations Department (which is really a bunch of Oracle programmers), in which they were wanting to get more involved in creating the enterprise (internal) web applications. So they asked me what is the best enterprise (web able) language (Java or Ruby). You can imagine my thrill to hear someone phrase a question like that and I almost immediately shouted "Ruby and Rails", but I didn't. I paused for a moment and then said let me think about that and send you a reply. See at that moment three things hit me;
#1. I could not with a clear conscience scream Ruby without further knowledge of exactly WHAT they wanted to do, I mean there is a correct tool for every job, right?
#2. a developer (especially in reference to language) is generally very biased, it's hard not to be.
#3, Not everyone thinks the same as I do or have the ability to learn languages as easily.
So with that in mind, this is the reply I sent to them (snipped and trimmed)
[snip]
The idea of which is better, Java or Ruby is a moot point and nearly impossible to prove conclusively, in either direction. As I stated in our phone conversation, a developer, by nature, is very opinionated. A developer is going to choose the option that makes him more productive and accomplishes the task at hand the best, in his opinion.
So far in my opinion, Ruby accomplishes any task thrown at me and it increases my productivity level greatly. Therefore it is my language choice.
There are other reasons why I chose Ruby, such as;
Ruby is an elegant language, meaning it is easy to read and understand what the developer was trying to accomplish
The syntax of the Ruby language stays close to the given algorithm I'm trying to express, without a lot of linguistic overhead
Ruby just requires less typing, that to me is a tremendous value in application development, especially in rapid development
These are the questions you need to ask yourself
Can X handle what I want to do?
Is X a strongly supported language?
Is X a viable language in an Enterprise setting?
Can I learn X?
Can I find X developers, if I ever needed too?
Can I find X work, if I ever needed too?
Does X work in my environment with my current applications?
If all of those end up being Yes for multiple languages (which it will) then your only real question is;
Which, in your opinion, will increase your productivity and accomplish your task at hand the best?
Which do you feel more comfortable learning?
[/snip]
I believe that is about as unbiased and honest as any developer can be. What do you all think about the response I sent them?