Adsense Alternative

Banned from Adsense? Tired of them changing the rules for their benefit? Me too. Check out what I'm using instead.
 
Randomized RSS Feeds

Learn how to get several of your large sites indexed by creating dynamic RSS feeds.

I’ll Never Use Ruby On Rails

Before I get into this post, I should explain a little bit about my background.

I have two degrees in Computer Science, but I’m not your typical computer geek. You won’t find me in an argument over which Linux distribution is best or talking about my favorite editor.

I chose Computer Science as my major because of the money. Plain and simple.

In high school I was good at Calculus so I asked my teacher what math-related major pays the most money. He said that computers were starting to attract some attention and the rest is history.

What I don’t like about my career choice is mucking around in configuration files or building kernels or any of that crap. That’s why I wanted to check out Ruby on Rails (RoR).

RoR is a framework that supposedly makes it easy to throw up web applications in 1/10th of the amount of time. It’s documentation claims that you won’t have to edit any configuration files because it does what most people want “out of the box.”

What they don’t tell you is that to get it to work you have to edit your Apache configuration because for some reason it doesn’t work with the most ubiquitous web server in the world.

Maybe that’s not completely fair, because there are accounts of people getting RoR to work with Apache, but it’s more hassle than it’s worth and there are still issues with zombie processes.

My personal issue is that my dedicated server is running Apache 1.3. RoR ONLY works with Apache2. Now it could be that my host is in the dark ages, but I’m willing to bet several hosts are still running Apache 1.3.

In summary, this is what I would have to do to run RoR:

Upgrade my version of Apache.
This may be easy or it may be difficult. All I know is that I don’t want to do it. First, I have other websites running on this server and I’d rather not have them down for more than an hour so I can try something that may or may not work. Second, I pay for managed hosting and I imagine that my hosting company will blame any future problems with my server on the upgrade, regardless if that is the cause or not.

Install a bunch of Apache mods.
You can call me lazy if you want (it wouldn’t be the first time), but I don’t want to spend my afternoon downloading, compiling, and installing Apache mods.

Learn Ruby
I was looking forward to learning a new language and Ruby seems very powerful, but this is still another barrier for me to overcome.

Learn Rails
Even after you’re familiar with Ruby it seems you then need to learn how the infrastructure works. It doesn’t seem that complicated and may even simplify things, but again, it’s another thing for me to do.

So in order for me to develop applications 10x faster I have to learn a new language, framework, and mess around with my server.

Maybe I’m being a little short-sighted but how many durpal or joomla sites could I deploy in the time it takes me to do all that? Of course, I’m cheating a bit because I already understand drupal and joomla, but that’s because they’re written in a popular language (PHP) and work on a popular web server (Apache).

Next time you want me to use your easy-to-use application framework, please don’t make it so difficult to use.

Maybe the people at the watercooler talking about Ubuntu have the patience for this, but I’ve got a mortgage to pay.



Related Posts
Stay Away From The Cutting Edge


Tell Me What You Think...

Comment by wtf242
2007-01-07 09:50:55

Ruby on Rails works fine with Apache 1.3 + fastcgi, and it’s just as easy to install as it is with Apache 2.x. The steps for setting it up are no different.

 
Comment by Bob Ippolito
2007-01-07 12:25:04

You don’t have to recompile Apache to install mod_fastcgi or mod_ruby. Hell, you shouldn’t have to recompile Apache to install mod_proxy. They’re modules. You will have to add two or ten lines of configuration and restart the web server, but you have to do that for just about anything.

The only reason you can run PHP with “zero configuration” is because you or your distribution already did the same crap already. Apache isn’t PHP capable out of the box.

It should’ve taken less time to get Rails up than to spew this washy post… if you didn’t just throw your hands up after two minutes of googling.

 
Comment by Ricky
2007-01-07 13:09:57

>Ruby on Rails works fine with Apache 1.3 + fastcgi

No it doesn’t. I have tried on a couple of systems to get it to work “fine”. While it does work it does produce the zombie processes the author discusses.

>, and it’s just as easy to install as it is with Apache 2.x. The steps for setting it up are no different.

It is not trivial, and the steps are quite different.

 
Comment by wagerank
2007-01-07 13:53:13

Here’s a quote from wtf242’s blog:

“Let’s be honest, hosting and deploying a Ruby on Rails app is a pain in the ass. It’s just not stable yet. Apache + fastcgi is hard to setup and not very stable.”

So it’s ok for you to bash RoR, but not for anybody else?

 
Comment by Scott Sherwood
2007-01-07 16:08:21

Maybe you will spend time getting started, but you may enjoy using it to develop aplications a lot more than older technologoes.

 
Comment by beej
2007-01-08 06:42:43

You don’t want to use Ruby on Rails because you would have to learn Ruby and Rails?

Don’t worry, you’ll love obsolescence. You’ll never have to learn anything new again!

 
Comment by PhilM
2007-01-08 07:09:08

I agree with beej. You don’t want to learn new languages? I don’t care how many degrees you have (or how old, I’m 53), when you give up learning new things you’re no longer a professional programmer.

I’ve got one for you, go learn COBOL. Then you can both be extinct!

 
Comment by cdc
2007-01-08 07:23:18

When did I say that I didn’t want to learn new languages? I think my exact words were:

“I was looking forward to learning a new language and Ruby seems very powerful…”

The point that I was trying to get across is that if you’re going to advertise that an architecture will save development time, don’t make it difficult for me to configure.

I’d much rather be writing my application in php and dealing with those (familiar) hurdles than mucking around in my apache configuration and effecting all the other sites that I have running on the same box.

 
Comment by matt
2007-01-08 11:46:55

er.. the rails guys are pretty clear on this. You get programming productivity benefits with the trade of off the operational side is little more complex. From what I’ve done, it’s not really that complex, its just different & so not “familiar”

A much simpler way would be to use mongrel as your server on a different port & use mod-proxy to redirect requests. The risk of changes to apache is very low & setting up a mongrel cluster is very, very, easy.

Also, never, ever use mod_ruby.

If your taking a long time to setup a rails hosting then you are doing something very wrong.

There are plenty of examples around on how to setup a resilient rails environment that plays nice with apache.

Try google - I hear its very good.

 
Comment by jens
2007-01-08 12:41:08

hehehe.
Get another degree, join one of the major IBM-like corps, take a seat and don’t get up!
Already number one so why try harder?
ooh wait, you’re already sitting down??
thought so.

powerpoint away dexter!!

 
Comment by Hugues Lamy
2007-01-08 13:09:19

I can understand some frustration on setting up your Apache Web server. On the other hand, don’t leave the boat yet. First, Ruby on Rails good WEB server is Mongrel or Lighttpd. Ruby on Rails and Mongrel is going to be delivered on new Mac Server with Leopard later this year. Second, if you need a web server for your development, Ruby already have WEBrick. From your frustration blog, I sense that you haven’t touch the laguage much, but were stuck with the web server part. Shift you focus on the language and when ready to deliver you new fanstastic application, I’m sure you can find help on the Web.

Good luck.

Hugues Lamy

 
Comment by vincent
2007-01-08 16:48:50

Hey cdc,
From a programming point of view, Ruby on Rails is a beautiful language, fun to code with, and quite powerful.

But from a webmaster’s point of view, you’re absolutely right - it is a massive pain in the ass. I’ve had tons of problems with FastCGI, zombie processes, and who knows what else. Sometimes the rails application starts to load and then crashes and doesn’t log anything to explain what the hell happened. It works great on my Mac with lighttpd and it is cool to play with but deploying a functioning, usable web application is an entirely different project that, in my opinion, is more difficult than learning ROR itself.

 
Comment by akira
2007-01-11 01:28:03

cdc,

Deployment of Rails applications is the tougher part of Ruby on Rails. Configuration of Apache is by no means lightweight and can be a total PITA. I’m sorry if it’s going to be tough getting your other PHP apps up to speed on an upgraded version of Apache.

Have you had a chance to play around with Rails yet? Rails ships with its own webserver (current versions run Webrick, a Ruby based web server, and Edge Rails runs Mongrel) so you can mess around with the framework as much as you want. I think if you’re used to all the PHP code you will appreciate what Rails does to add to your coding time / ability.

As far as good tutorials, if you google ‘top 12 tutorials for ruby on rails’ you’ll find some good stuff.

 
2007-02-16 04:41:56

[…] a recent post I claimed that I would, “never use ruby on rails.” I really should have said, “I […]

 
Comment by jc
2007-02-16 12:50:59

Yeah, I dont think anyone besides the fanboys will tell you that Ruby on Rails is easier to deploy than PHP. Theoretically, they believe thats its better and more scalable but thats probably bogus as well. If deployment is your biggest concern,

Drupal and Joomla are great and a very compelling reason to stick with PHP, but talk about configuration nightmares. Drupal has 3x as much php code as Ruby on Rails framework itself. Learning how to integrate with it (drupal), for me at least, was just as difficult as learning rails.

 
Comment by Julian
2007-09-10 17:16:44

Hosting and deploying ROR was really impossible for me. I’m decent programmer and not that good webmaster. Tried to get some of our engineers to set the things for me… they simply give up after few hours… applications are crashing, zombies, strange loops, nothing in the logs…

Finally, i’ve moved to ASP.NET with C#… God! After few hours experimenting with it, all other things are looking as bad jokes… seriously. Add to this the power of MS SQL (views, stored procedures, etc) and you’ll never look after mySQL again :))

 
Name (required)
E-mail (required - never shown publicly)
URI
Your Comment

Copyright © 2007 WageRank.com