Social Question

stevenelliottjr's avatar

Why do Rails developers hate Java so much?

Asked by stevenelliottjr (295 points ) March 15th, 2010

It seems that any time I look at a blog that talks about Rails or Ruby for that matter there is always someone that has to bash Java. I feel that Rubyists and especially Rails developers have horrible attitudes and become purists. This is striking to me especially when I speak to these people and they don’t know basic programming constructs and principles. RoR has definitely lowered the bar for entry into programming, but that’s not necessarily a good thing. I use Java all the time and I think its great! Its fast, clean, and has a ton of documentation out there. It’s good enough for Google, Amazon, and the like—why hate it so much? I mean I like Rails but I hate the community. I just don’t understand the animosity… can anyone explain why Ruby and Rails developers feel they are so far superior?

Observing members: 0 Composing members: 0

19 Answers

phoebusg's avatar

Hating any tool makes no sense. You can’t hate tools, you can hate users or abusers thereof. But even that is not useful. Every tool has its use, and it may be ‘superior’ for a particular solution than another. That’s all there is.

coogan's avatar

I have heard people bash Java, citing that it doesn’t run as fast as dedicated languages. Although, it’s pretty bad a—that it can run on anything, even in my coffee cup ; )

stevenelliottjr's avatar

@phoebusg – I agree with you, it just annoys me that a lot of Rails dudes seem like they think they’re better than everyone else. I was reading a book on Ruby programming and even in the book they bashed Java. Unbelievable. Really turns me off – in fact it drove me right to Django! haha

stevenelliottjr's avatar

@coogan – Java is v. fast these days especially since it has multi core support. the fact that it runs on everything is a big positive no doubt. Everything should be platform independent IMHO

Snarp's avatar

I don’t deal with Ruby and Rails myself, and I haven’t written Java in a while, but I would say that there is a core of truth in your question in which the words Ruby and Rails could easily be replaced by any technology: “I feel that Rubyists [insert user of any technology] and especially Rails [inset name of technology] developers have horrible attitudes and become purists.”

I’ve seen Java people bash C++ or C# too. I guess people get hooked on something and then think it’s the greatest thing ever and all others are inferior.

stevenelliottjr's avatar

@Snarp – I guess you’re right – I guess that’s why the almighty flame wars are ever so prevalent on the web. I might just stop reading programming blogs in general because i get too pissed off about this kind of stuff. I’ve used everything from C, C++, Java, PHP, Python/Django, C# (WPF, ASP.NET, WinForms), you name it—they’re all fine in their own way and they all suck too.

Snarp's avatar

@stevenelliottjr I think everyone is just trying to find something to be the standard, that solves all the problems out there, and when they find something that solves the problems they’re thinking of, they think they’ve got the holy grail. I remember when I started using Java and I though, sheesh, I’ll never got back to C++ again, this is so much better! But of course it’s not always better, it’s all about trade offs.

stevenelliottjr's avatar

@Snarp – Ya, there is never one answer or solution. I guess you can make the argument that there are no good or bad languages/frameworks only good/bad programmers. :-/

malevolentbutticklish's avatar

@coogan @stevenelliottjr: It might surprise many people to learn that Java typically is faster than C++. Here are some reasons why: http://www.idiom.com/~zilla/Computer/javaCbenchmark.html

malevolentbutticklish's avatar

@stevenelliottjr: Rails developers hate Java because Java is the competition. I don’t think you have to look much deeper.

sferik's avatar

I’m a professional Ruby developer. I use Rails on a daily basis and have written Java code in the past.

I think the biggest gripe Rails developers have against writing Java apps is that they’re too verbose and require too much configuration. A driving philosophy in Rails is that configuration should be optional. Smart defaults—the thing you want to do most of the time—should come preconfigured—with the ability to override the defaults the rest of the time. This makes it very easy to write a basic Rails app, but may feel a bit scary or mysterious at first to someone who’s accustomed to things only working after they’ve been configured.

Personally, I prefer Ruby’s implementation of the object-oriented paradigm. It seems more consistent and versatile to have a language where everything is an object (except for a handful of keywords). Also, it’s nice not to have to compile programs before I run them. :)

That said, there are many people in the Ruby community who embrace Java, as evidenced by the success of JRuby, arguably the fastest Ruby VM and the only one that currently supports native threads. In fact, there was a sold-out conference dedicated to JRuby on the heels of RubyConf last year. JRuby lets you call Java APIs from within your Ruby program, so it’s a nice on-ramp for people who have previously worked with Java. I’d recommend you give it a look!

malevolentbutticklish's avatar

@sferik: too much configuration? Java apps need not require configuration.

sferik's avatar

@malevolentbutticklish of course, it’s apples and oranges to compare Rails (a framework) to Java (a language). I was making a comparison of Rails to Java frameworks that attempt to tackle a similar problem space (read: Struts).

That said, even a basic Java program requires more boilerplate text than a basic Ruby application (public static void main, etc.).

Snarp's avatar

I really ought to try Ruby sometime. Caught up in an ASP.NET and C# project now and have to learn ASP.NET since most of my development has not been web based.

malevolentbutticklish's avatar

@Snarp: What do you develop?

@sferik: Unless you are using vi, the public static void main boilerplate text should be created by your IDE.

Snarp's avatar

@malevolentbutticklish Right now mostly planning tools for the utility industry, but moving into smart grid stuff.

sferik's avatar

@malevolentbutticklish actually, I am using vi :)

stevenelliottjr's avatar

Thanks to everyone for responding. I doubt I will ever actively seek to learn Ruby or rails because I just don’t care for Ruby syntax very much. But I agree rails is a very fine framework and I wish the best to anyone who uses it. Just stop hating on Java! Though you all have been very fair ;)

erikreppen's avatar

Don’t hate the language or framework, hate the legions of mediocre developers who got into it not so much out of interest but out of a flawed perception of it being a favorable school to paycheck ratio (one caveat kids – school never ends if you want to be more than just another resume in a giant pile for your entire career). Hate the awful marketing schemes targeting CTOs rather than developers that add to really stupid cruft-ridden paradigms that you’re going to be forced to get behind because there’s nothing more useful we can do with the Kool Aid drinkers than put them in charge of things. Hate the developers who will voice endless support for their one language/platform of choice but who shut the heck up when asked what they’re comparing it to because they have no basis. But what you should really hate most of all is that you could have just been doing it in Python all these years if you’d tried that first instead.

Answer this question

Login

or

Join

to answer.
Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther