« About Rails and Ghettos | Main | Do you think we are stupid? »

January 24, 2008

What's This Crap About a Ruby Backlash?

Zed's rant triggered some patently false anti-Ruby memes that have now been bouncing around the programming blogsphere echo chamber for a few weeks. Disturbingly so. It's time to put a bullet to the head of the idea that Ruby is experiencing a widespread backlash, that it was just a fad, or that it is inferior to competing technologies such as Groovy. As far as I can tell, the originators of these ideas are people that betray agendas against the success of Ruby and/or Ruby on Rails. Specifically, I'm calling one of them out by name:

Daniel Spiewak (for being a liar)

His post, The End of the Ruby Fad? really set me off and was the final straw that made me write this post. As a community, I don't think we can just let the FUD and lies perpetuate unchecked. Daniel's post in question is full of wrong-headed opinions, but it also has lies in it that I believe are specific enough to be called out as willful deception:

Daniel: "Ruby posts to link sites like DZone or Reddit get voted down before they have a chance to see the light of day."

Simply browse the ruby links on programming.reddit.com or the list of over 2000 ruby-related links on DZone to disprove that lie. My contention, which I think is fairly obvious to people on this side of the Ruby/Anti-Ruby divide, is that the people echoing the Ruby backlash theme are all folks with entrenched anti-Ruby stances and agendas. There are no neutral observers chiming in on the matter.

It's the same old FUD, repackaged:

Daniel: "...while Ruby may not be suitable for an enterprise level, high-traffic web application,"

Peter Cooper of RubyInside calls him out on that one better than I could hope to do so:

Peter: "You say you don’t like the hype or the backlash, but then you come out with this sort of vague non-statement to keep the fire burning. Any language “may” or may not be suitable for any task, but you seem to be implying in the context here that Ruby is “not” suitable for developing enterprise level, high-traffic Web applications without actually going the whole hog and just saying it. In any case, this, of course, is not true. At least, it’s no more true for Ruby than it is for Python, Perl, PHP, or Scala, say."

What about the most general of facts, about the nature of Ruby itself as a programming language?

Daniel: "(Ruby is) hardly a general-purpose language, so it could never replace Java and company."

Ruby is by definition, a general-purpose language. (Wikipedia makes a contrast between domain-specific and general-purpose languages.)

You have to question the actual knowledge of someone making such blatantly wrong assertions. In other words, does Daniel know what the hell he's talking about? He answers that question himself in the comment trail:

Daniel: "It has been pointed out that my "Rails" example is quite foolish and naive. This is absolutely true."

Oh the irony! How folksy and cute to write blatant crap in your blog, enjoy the publicity and then admit that you knew it was crap to begin with. To that I say "UNACCEPTABLE!"

Even his rhetoric is faulty, like this plainly false categorization of developers:

Daniel: "Developers these days fall into two camps: those who have heard the hype and rejected what it stands for, and developers who are totally carried away by the emotion of the fad."

Maybe not technically a lie, more of an opinion, but certainly bad rhetoric. There is a huge third camp, that dwarfs the extremists on both sides, full of intelligent, pragmatic individuals that are choosing to use the tools available to us without prejudice. That includes Java, Ruby, Python, Scala, etc. There is no silver bullet, and all that jazz...

Oppression

Daniel's post led me to question, what is the motive for piling on to the heap of negativity started by Zed and perpetuated by Rick Hightower, Graeme Rocher and others? Why pick on the Ruby community? Is it simply a reaction to the hype cycle?

Daniel: "Perhaps now that the bubble has burst, we’ll finally get to see the popularity of Ruby in its proper place."

Aha! Above all, that sentiment is the common thread amongst the haters of the progressive Ruby community. Oppression! They want to keep Ruby (and by extension Rubyists) in our proper place! What is that proper place I wonder -- perhaps it is out of the mainstream, out of the limelight, out of the enterprise, out of the places where we threaten the status quo!

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e54fdca911883300e550053ee68834

Listed below are links to weblogs that reference What's This Crap About a Ruby Backlash?:

Obie, you wrote "... Why pick on the Ruby community?..."

Possible answer: One of the basest of human emotions - fear.

Damn! My one-off, half baked opinion piece written in five minutes over lunch has triggered *way* more of a reaction than I ever expected. I suppose it's only fair. After all, I once flamed Obie so turn-abouts: fair play.

I think most of your points (specifically taking excerpts out of context and using them to back your claim of my willful deception) are pretty much bunk. :-) Most of them seem to be centered around my off-hand remarks that Ruby is unsuitable for the large-scale (so called "enterprise") application. This opinion is based solely on my experience, both in evaluating and in using various platforms precisely in this role. It's hardly FUD if I'm 100% certain of myself and can back up the opinion with anecdotal evidence.

**I'm not anti-Ruby.** That's the one point I'd like to be utterly, resoundingly clear. If you throw out everything else I say, try to remember this one fact. I realize I'm primarily identified with the Java community, but I'm certainly not a Ruby-burning fanatic. As I stated in the post, I have almost as much experience with Ruby as I have with Java, something which should be a clear indication that I'm *not* fundamentally opposed to the language. I've said it before, and I'll say it again. I use Ruby on a *daily basis* and derive a great deal of productivity from it.

It was probably more-than-slightly confusing to use invalid "Rails syntax" in the article text. At the time, I believed that the obviously illustrative context would nullify the deliberate twisting of API since no one in their right mind would assume I was demonstrating workable code. I explain further down in the comments my reasoning behind the faux pas and the logic behind my refusal to correct the sample.

Oppression?! You really are a paranoid bunch of dolts aren't you? ;-) Your very vocal and "progressive" community always seems to have a hard time with any sort of *potentially* demeaning opinions regarding their language or (more importantly) their framework. What I was saying with this statement (and in fact, the entire article) is that Ruby has a number of wonderful and useful applications. It is neither the silver bullet nor the devil incarnate. While threatening the status quo is quite commendable, replacing tried-and-true practices and techniques with unreliable and unmaintainable equivalents is not progress but industrial suicide.

"It's hardly FUD if I'm 100% certain of myself and can back up the opinion with anecdotal evidence."

Are you intending to present that evidence? If not, then this type of statement seems to backup Obie and Peter's sentiments.

@Tammer

I can present it (and considered it for the post in question), but I decided that no one would really benefit. Those who agree with the evidence are already in the moderate camp, and those who disagree would just flame me into oblivion. So perhaps it'll be a post sometime down the line, but in the current environment I don't think it would do anything except stir up trouble.

Daniel, you may claim that you aren't anti-Ruby, but your words and actions testify to the contrary.

"You really are a paranoid bunch of dolts aren't you?" - Daniel Spiewak

IMO that really sums up your stance, despite the smiley. The condescension is mind-boggling.

Mr. Spiewak -
Maybe the problem is in the first sentence of your comment here: it was a half-baked opinion written over lunch. How is anyone to know that what you were writing was 'half-baked' unless you say so? Saying so now doesn't lessen its impact.

If your intent was to say that "Ruby has a number of wonderful and useful applications. It is neither the silver bullet nor the devil incarnate," (although a boring statement you could make about any language) why didn't you just say that? Instead, it seems you saw some kids taking some kicks in the general direction of a puppy and thought you'd join in.
(How's that for playing at people's emotions?)

He's not being a paranoid dolt. I thinkA great deal of people get defensive over their language of choice. Haven't you heard the PHP crowd for the past couple years?

I really wish everyone would just shut up, actually. Unfortunately, I am as incapable of taking my advice as everyone else.

Daniel,

Since you really offer no data, examples, or even anecdotal stories to help your claim, can you please give us a little background about yourself, or anything that will lead credence to your opinion?

Do you have a PhD from MIT? That will help, though I know a few PhDs from MIT who I disagree with as well. Did you invent a competing web framework that is more "enterprisy"? Please share, maybe we can learn something. Did you work as an enterprise consultant and saw first hand the downfalls of Ruby in that environment?

I don't mean you need to have those things to be taken seriously, but when you criticize a language, a community and when you do it outside of your own blog, you should be prepared to face the critiques. This is how academic research is done also; the work gets critiqued by the community before being published. Except usually, the author 1) provides some data or example to back up their points or 2) the author is credible based on doing so in the past and finally, the author usually graciously thanks her reviewers and revises her work for the better.

Since you neglected to do so, I will help you: thank you Obie for reviewing Daniel's work and for calling out the FUD.

Oh people like this douche-hat don't listen to things like logic or experience. Their AdSense revenue is at stake here!!

Please, for the love of all that is good and holy Mr. Spewback, don't post any more. You look almost as foolish as that dude who wrote Factor.

Thanks Obie. I was wondering how long the Ruby community was going to put up with this. I was hoping DDH would do it, but I'm really glad you did. Very much appreciated.

"replacing tried-and-true practices and techniques with unreliable and unmaintainable equivalents is not progress but industrial suicide."

Nice one. It's like the tried-and-true debate of tradition vs progress. It's like when in the old days people used to say "Why do we need computers? a person can do all those things with a typewriter, a pen and a paper - it's tested and it works" - and back then that was true, there probably were companies that died because they've paid too much for machines and training that the payoff was not worth it, but can someone argue today that computers are a not the better alternative? I know that this is a bit out there, I just had to amplify the point. Progress is not for everybody, you need talanted teams to pull it off, otherwise you'll die trying. And yes, I am suggesting that ruby is "the progress". I mean if you look at even some basic feature vs feature comparation of ruby and java even a "pointy haired boss" will see that. I mean people, get real! - the problem is that at this moment there are more bugs and is not as performant, but that's all implementation, it will be delt with - if as much code was writen in ruby as is in java ... then you can guess for yourself. And performance is a rathar subjective thing - you generaly don't need all the performance, you need "enough performance" and for what ruby's used for, I don't think there is a better balance of functionality vs performace (maybe python?) - and that's another thing people don't seem to get - there is alway a tradeoff - and it IS viable to sacrafice performance to get functionality (otherwise we will be still coding in assembler).

As for "why do we react so strongly?" Well doh! that's something we do care about - it's not as if I've learned ruby to get hired, or someone demaneded it from me, I've done it because it's fun and I like it, of course I'll be emotional.

And as it stands now, it is probably harder and more risky to do things "the new way"(and that's not specific to ruby, python, lisp, or even programming in general), but that risk is not pointless, there's a reward. You DO code faster in ruby. Your code IS cleaner and easier to understand. You are more productive and you DO think a lot more "outside of the box" - and those are all facts. So if every piece of code can be done in another language (touring compatible) then why are we still fighting - why don't we make ruby as stable and fast as the best of them and all be happy? And if there are others that don't want to take the voyage and stay safe on shore - let them, they will regret it.

Post a comment

If you have a TypeKey or TypePad account, please Sign In

My Company

My Conference

Bizconf is the first and only business conference specifically for owners and managers of small to mid-sized web design and development firms.

August 20-21 at the Ritz-Carlton Amelia Island Resort in Florida

My Book Series

My Travel