The way I look at it is this: I want developers to be comfortable with their development environment. I’m a designer and a business guy, not a developer. I’m not going to push PHP or Java or whatever just because I’ve heard of it. I’m going to defer to David on this. And if David chooses Ruby, then Ruby it is. It’s all a matter of trust. If you don’t trust your developer to choose the right environment, then how can you trust him to build the best application? Trust is critical here. And, further, why would you dare impact your developer’s morale by throwing him or her into a language where he can’t be as productive or as satisfied? You only get good work from people who enjoy doing the work. I’ll take a happy average programmer over a disgruntled, frustrated master programmer any day.
Jason Fried, of 37 Signals, in an interview with O’Reilly. This pretty much sums up my opinion of how to choose a development language for your project: Hire a developer, and listen to your developer’s opinion. To a certain extent, all programming/scripting languages are the same, and the only thing that makes a difference is the quality of your developer. To be quite honest, if you come to me and say “I want X, but it must be developped in Y”, I’m probably not going to take you on as a client. While serendipitously your required language may match my suggestion, I don’t feel it’s really your call, as client. There are of course exceptions to this rule, but for average small-business owner off the street,this holds.