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.





June 10th, 2007 at 6:31 pm
Outside of heavily funded ventured, or those with a lot of time (not sure which those are), I’m generally surprised when I don’t see a startup using PHP.
June 10th, 2007 at 8:53 pm
As my long ramble on Startupping said, I think it ultimately doesn’t matter. If you’re blindingly fast at Java or Ruby or PHP, use it. Developer speed is more a function of the developer than the language. Personally, I would use Java and PHP over Ruby, but now that I’m using Ruby more, I’m pretty sure it’s a wash either way.
June 10th, 2007 at 10:49 pm
I agree that it’s about the developing team’s speed with whatever language they choose - just saying that the generality that you can build something faster in PHP, and the lower costs associated with it (from technology to developers, again, a generalization, doesn’t fit everywhere), still makes me expect to see PHP being used by startups.
June 11th, 2007 at 12:41 am
the rails folks would say the same about Ruby, the Zope folks would say the same about Python, and many would say the same about Java.
June 11th, 2007 at 12:20 pm
Well, they can all say it all they want
but from building sites on a variety of platforms, I can’t see how any of them compare cost and availability-wise for grabbing outside developers and quickly setting up new boxes. If I need to outsource a small part of something or call a data center to have a new machine setup, I know I can easily get a decent PHP dev (and inexpensive relative to the other languages) and have a PHP-ready box with no issues in no time. If you don’t need outside help and you have the time to setup your own servers, all the better, but I think the moment you need to step outside your own office, there’s little comparison. That’s a ramble, I know, hope it’s readable
June 12th, 2007 at 2:26 pm
This is an interesting discussion for me. Ive now been working at a company thats a RoR shop for almost three months now. Ive worked with java. php (im a fan of symfony but never used it on any major developments), and started my career as a microsoft programmer with ASP/COM+/etc. We have a systems guy who has worked on a couple enterprise level rails sites (the closest thing you’d find to an expert in an immature field as you put it), and talking with him, its either interesting tricks or waiting for a new version of something to get things working as we’d like. We actually translate russian documentation because our load balancer is written in russia and not translated to english immediately.
Id definitely agree that in 2 to 3 years it will be mature enough to really step up to Java (though Grails looks interesting) or a PHP solution… but you need companies like us to generate the necessity for the upgrades to the framework to get there.
My coherence is shot right now, hopefully that actually made sense.
June 13th, 2007 at 9:51 pm
Sujal’s right. You have to be pragmatic. Why wouldn’t you be? It’s your money (at least to start).
I’ve had the displeasure of working for a smart development shop that was purchased by a Big Carrier. All of sudden I was on a conference call with a group of WebSphere drones who wanted to run everything through Rational Rose. The db was DB2 and everyone just added tables. I learned immediately how fortunate I was in the small shop. I suspect a lot of folks who overly push against Java had an experience similar to my Big Carrier one. They are pushing hard for PHP or Ruby or whatever just to get away what they have learned Java is.