I’m now deep into Rails land, and I’ve had a ton of Java experience at my former employer, so I feel like I’m in a good place to compare the two.

Bottom line, if I didn’t have to consider hiring issues, especially here in CT, I would go Java if I were starting up my own company. Rails is great, don’t get me wrong, but I feel tied down and held back by the limited choices in Ruby land. And the fact that I’ve had to debug makefiles and break out my C knowledge to figure out some clever things is quite scary.

Basically, I’m reacting to the immaturity of both Ruby and Rails. Both are young, slow, and limited compared to Java frameworks out there. The biggest bonuses of Rails tend to be useless when you actually get beyond the early parts of your app. On top of that, scalability is a known issue with Rails, and there are odd decisions throughout (Rails is inherently non-reentrant?!). These are getting fixed in upcoming major releases, so I’m sure in 2-3 years, they’ll be on equal footing with the best Java frameworks.

So, my advice is to focus on what your dev team knows and you’ll be fine. In my case, I’m pretty good at both Java and PHP and Perl, and Ruby was a snap to pick up, so this wasn’t an issue either way for me. Of course, Rails has enough hype now that it is in itself a selling point for a startup to both VC and investors. For that reason alone, I’m working in Rails. I have little doubt I could architect a site that could handle Twitter or ESPN Fantasy Football traffic in Rails, anyway, so it probably won’t matter.

I just finished a long ramble about this on a Startupping thread if you’re interested in a less coherent version of this post.