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:
- 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.
- 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!
- 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)
- In most object oriented languages, everything is an object! Strings, Integers, you name it.
- This just doesnt make sense. Its just being lazy.
- 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.
- Also doesn’t make sense.
- 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.
- ‘foreach’ is one of my favorite commands…and a lot easier to use than what the writer is describing here.
- 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