Ruby on Rails – not all its cracked up to be…

Recently at work I have found myself having to debug a lot of Ruby code for some sites that we recently put live. I also had to do some further deployment on the sites, since things like email were not actually working correctly when put into production. But when clicking around through the code, deploying new builds of the site, and testing my changes, the only thing going through my head was ‘why does this Ruby stuff have such a following’.

Im not writing this post to bash anyone, the community, or the language. Im sure it has its uses, and I have to say that I really like the community around the language (which I will talk more about later).

Its almost like some type of ‘cult’ around it. While yes, many people can say that I could be a member of some of these ‘cults’ (ie the Mac people)…im definitely not a ‘fanboy‘ by any means (hell, I even think most Mac people are weird…espc the ones who act like they saw the second coming because they ‘switched’). In the case of ruby, you have a huge cult following that has produced some REALLY cool products. These products then get a ton of publicity, and it all just rolls up together (oh that site was made with Ruby…then it has to be good!).

There was recently a post that came across Digg about ‘The 10 reasons you should be using Ruby on Rails‘. Well, following a long with a lot of the comments, ill back every one of these 10 reasons with 10 truths:

  1. Most modern languages give you these ‘treats’ already. I use try/catch and namespaces every day! Pretty much any modern iteration of any language supports all 5 of these topics.
  2. What little things? This topic pretty much points to the fact that Ruby reads almost as easy as English. Wow, AppleScript has been doing this for years. But when it comes down to it, I am more concerned about what the code actually means instead of it looking grammatically correct!
  3. Yeah…and you will never be able to put more than one command per line of code. Who cares? Its easier for me to understand that a semicolon is the end of a line of code, rather than figuring out why a method is ending in a exclamation point or question mark (from the posters reason #2)
  4. In most object oriented languages, everything is an object! Strings, Integers, you name it.
  5. This just doesnt make sense. Its just being lazy.
  6. Again – anyone can do this. And honestly its a lot easier to set up a webapp in IIS than it is to configure mongrel and update it.
  7. Also doesn’t make sense.
  8. While its not a standard everywhere, XML itself is standardized, and used just about everywhere. No one cares that you make up your own markup language that reads easier.
  9. ‘foreach’ is one of my favorite commands…and a lot easier to use than what the writer is describing here.
  10. This is slow. And the fact that ‘Ruby has features no other language can offer’, I really hope the user wasnt using the previous 9 topics to prove that.

All of this is up to preference. I do love how the writer ends with ‘…the next time your frustrated because your code looks ugly…’. I can’t stand reading scripting languages (always seem like a hack job), so its more of a pain to me than reading standard C# code. In reality, its the developer and their processes that build the final product more than the platform used to get there.

I just can’t understand how people get so excited about a plain-old scripting language that has been around for quite a while. This is where my community comment above comes in. Any group, idea, method that has a gathering can mold it to many different objects. With Rails becoming so popular, many online networks have formed creating a close, very active community.

Just wait for all those Mac fanboys…so excited that Mac OS 10.5 ‘Leopard’ (if you haven’t heard, its coming out next week) has ruby on rails built in. Alas, if they paid any attention, they would have noticed ruby ( and partially rails ) has been there for quite a while :).

Listening To: ‘Gone Gone Gone (Done Moved On)’ by Robert Plant and Allison Krauss

Advertisements

9 thoughts on “Ruby on Rails – not all its cracked up to be…

  1. nice post and im not even super-geek 😛 – ya my geeks at work were pushin me 2nite to buy Leopard on Monday 😉

  2. I think you need to give it more time before you can make the call that Ruby on Rails isn’t all that great. Debugging code and building applications from scratch are very different things, as I know you know. I think Ruby on Rails is a great platform because of Rails, not Ruby. I can agree that the list on Digg is a rather weak argument but there are better ones around the web you can attempt to debunk. 🙂 The Ruby language is nice and fits well with people coming from object-oriented backgrounds. It’s true object-oriented nature is a welcome addition.

    I also think that people that really appreciate Rails tend to have a deeper background in web development. Once you’ve written dozens of real applications on various platforms like J2EE and .NET, the little things in Rails become that much more appreciated. The focus of Rails is to stay out of your way and allow you to get things done. I believe it achieves those goals rather well. Rails isn’t the kitchen sink, as it doesn’t try to be, and that’s helpful when you’re building a web application and not something for the desktop, or some other platform. It does one thing and I think it does it well.

    Dude, Ruby has been a part of OS X but you can’t seriously argue that the Rails development environment has been. Where is Rails, where is Rake, what about Mongrel or WEBrick?

  3. Thanks for the comments!

    Oh yes, debugging and building are totally different. In many cases, I find it a lot easier to develop than ever to debug.

    And yes, I do like Ruby for its O.O. nature. Honestly, I would have preferred to write scripts in it rather than BASH.

    I feel thought that a lot of people following Ruby on Rails right now are more ‘bleeding edge’ types than those with deep backgrounds in web development. Mainly because other than web 2.0 stuff, it really hasn’t taken over yet in many business environments.

    Most people who use the Mac for any type of hosting do not ever use the built in third-party applications. Mostly because they are outdated. I also would really doubt that many people will start buying Macs just for this cause…and that people will want to all of a sudden want to host their Ruby on Rails app on a Mac.

  4. >> I feel thought that a lot of people following Ruby on Rails right now are more ‘bleeding edge’ types than those >> with deep backgrounds in web development. Mainly because other than web 2.0 stuff, it really hasn’t taken over >> yet in many business environments.

    I don’t think you can connect the two. Sure, I like Ruby on Rails, but my company won’t switch any time soon. We’ve got a decades worth of Java code we develop and maintain everyday. That doesn’t mean I don’t have a deep background in web development. I do get where you’re coming from, however. I think we tend to see the loudest ones across the web in various blogs and news sites.

    >> Most people who use the Mac for any type of hosting do not ever use the built in third-party applications. >> Mostly because they are outdated. I also would really doubt that many people will start buying Macs just for >> this cause… and that people will want to all of a sudden want to host their Ruby on Rails app on a Mac.

    I highly doubt the majority of Rails deployments are on a Mac environment. If you read enough on Rails, you’ll find that a lot of the development happens on the Mac but the deployment is on a variant of Linux. I agree that people won’t start buying Macs just because Rails is a first class citizen in Leopard. But, I don’t think that’s the point. I think their focus is on development, not deployment. Any developer can get a Rails development environment set up in OS X with minimal effort (i.e., Locomotive). It’s just a nice plus to have it out of the box. I don’t see it being too useful considering how fast Rails is developed compared with how often a new version of OS X is released.

    My comment above was to point out that you shouldn’t discredit the technology until you have some solid experience with it. 😀

  5. Well, as you know, we switched, and to me its more of a pain in the @$$ than other stuff (well, of course, except RDC07, but thats a complete other story…).

    And yes, you are right. When people want the latest builds of Ruby, they will have to do it themselves. Locomotive is always a little bit behind (though we hacked it up a little before to allow us to put a different install of Ruby under it).

    I don’t fully discredit it, my original intent was just to figure out ‘why’ its such a big thing. Im not a big fan, and its I guess hard for me to really see why others are such big fans about it.

  6. I never really looked at it as a switch. More or less an experiment to see what it was like on a real project. I’d still use .NET over it for anything remotely complex. However, that’s not because of the technology, but rather the comfort level I have with .NET over Rails or J2EE.

  7. Just as the original post had lousy reasons to like Rails, this post has lousy reasons NOT to like Rails.

  8. Choose the technology that fits the project 🙂

    In the end, a language is just a tool software developers use. The majority of software development is NOT language specific.

  9. Deltawing, I totally agree. My main point is that I dont see why people obsess over rails so much, because many of the ‘fanboys’ consider it to be the only tool.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s