Rails is Ghetto

I have to admit – while Rails is about 100,000 times better than the other alternatives (if, by alternatives, you mean “not so obscure that you’re up against astronauts in the odds of finding a job”) it is definitely one of the hardest things I’ve dealt with in a production environment and might have a few innate flaws that make that not just a “new kid on the block” issue. Scaling at ActiveRain was (and, from the Rackspace calls I still get, still is) a huge pain in the ass. And ActiveRain is small potatoes (well, possibly a medium).

Merb looks promising but, good luck selling that shit to clients, or, worse, hiring someone to help you out when you grow. I’m still going to learn it, it’ll be the shit in a year.

Anyway – Zed Shaw has an unbelievably entertaining post explaining this better than I ever could. Rails is Ghetto

4 Comments

mattDecember 31st, 2007 at 5:34 pm

After discussing Rails deployment for a relatively small but mission critical application with a Rails developer I know, I was a little horrified and it became clear to me… Rails was designed by and for web programmers, with little thought to such annoying details as scalability. Scalability is pretty much built in with J2EE, and the peace of mind I have about my production environment and the fact that I can deploy my app to a new server in a jiffy without having to worry about what version of Linux or Apache it’s running is well worth the boring syntax and extra few lines of code.

AdministratorDecember 31st, 2007 at 6:05 pm

It’s not really that (versions can be controlled – and, only an idiot wouldn’t control them). It’s more that each instance of rails is 100MB, it’s pretty unstable, so you’ve got mongrels crashing all over the place and monit restarting them, and it’s single threaded, which means you need 100MB per connection to serve shit up. ActiveRecord is a pretty big pig. The Rails “magick” (it’s helpers) are pretty slow (partially Ruby’s fault).

It’s a joy to code in – which, for me, coding 50+ hours a week is pretty important. And it makes shit really fast to churn out. It’s the perfect small-web-app platform. But it’s definitely not there yet if you’re looking to do 1M+ hits an hour. It can do that, but it’s ugly, and it sucks.

That Rails guys will fight this to their grave though.

I’m still doing all projects in Rails and hoping that it improves before my next project gets huge. If it doesn’t – I’d rather hire a server guy than code in Java.

mattDecember 31st, 2007 at 7:49 pm

It seems the big huge pink elephant in Rails is that its single-threaded. For a web application, that’s a retarded limitation. It would seem that all it takes is for some hardy soul to make it multi-threaded. Even if it takes a rewrite, it would be worth it. Ruby has pretty good thread support, as I recall.

AdministratorDecember 31st, 2007 at 8:20 pm

That’s what Merb is.