Monday, May 16, 2011

The ruby and java fightclub

As a person who has one foot firmly in java and another in ruby, I'm often in a situation where I try to have an objective conversation about the advantages and disadvantages between the the two. Unfortunately, both of these camps are not very objective about themselves and each other. Ruby guys seem to think that ruby is all sunshine and lollipops and java is spawn of satan and visa versa.

Find any java developer who knows nothing about ruby (or ruby on rails) and strike up a conversation about the advantages and disadvantages between the two. If they in any way care about programming, you will typically end up with a seriously heated discussion about: Performance, Scalability, Compiler Safety, Support, Maintainability, other stuff.

On the other side of the equation, I'm a bit at a loss because I've never met a ruby developer who didn't previously work as a java (or C) developer. Typically a new convert from java/whatever has all the zeal of a new religious convert and will spend lots of time explaining how "java guys just don't get it" without spending a whole lot of time trying to get those guys to "get it".

What seems to be missing is a set of people who are truly trying to understand the real differences between the languages and understand how and when they are most appropriate. After all, I KNOW that ruby is slower at runtime than java, I've tested and measured it, but for most of my applications it just doesn't matter. I've met very few web client users who care about the difference between a 500ms response and a 550ms response.
Moreover, I KNOW I can get high quality software written, tested, and shipped faster with ruby (and rails).

So my question is, has anyone every really objectively tried to quantify the advantages and disadvantages or is all the noise just camps of ruby and java fanbois who hurl insults at each other?

EDIT - Note, I thought I'd add some of online rhetoric that I've found on the subject (thanks google!)

cms wire from 2006... kinda ruby slanted.
this post gets extra points because it draw a similarity between learning java and learning Klingon.

No comments: