Twitter Scala/Ruby Drama

The Twitter folks decide to use Scala, and one of their prominent developers decides to write a book about it. Interesting, motivates me to take a look at Scala.

Particularly interesting is their happiness with the type system in Scala. I’ve found happiness with duck typing, and these guys are moving away from duck typing to something else, so another viewpoint for me to check out. Good.

But – blaspheme – they’re using Scala to replace Ruby. The Ruby community is incensed. Did these guys do their homework? Did they research every possible queuing system in existence before writing their own? Did they not try JRuby? Surely there’s a way to make it work with Ruby. These guys must be incompetent, lazy, or just plain stupid.

I’m not going to link to all the drama, but here is one of the most reasonable, well written criticisms.

Now this is a reasonable criticism, and the comments do provide a good bit of insight and justification. Heck, even one of the authors of RabbitMQ justifies why the Twitter guys decided not to use RabbitMQ.

Fine. But this thing with the Ruby community getting bent out of shape whenever someone decides to use another language is getting old. From all appearances the Twitter folks did much more evaluation and study than 95% of the rest of the world would have. They decided to use something else. They’re writing a book about it.

So move on. Somebody found something they like better than Ruby. Shocking.

Not everybody is going to like your system. I thought DHH had already expressed how he feels about what he judges to be extraneous requirements. I think DHH meant he doesn’t care. Looks like the rest of the Ruby crowd cares deeply, religiously, fervently.

9 Comments so far

  1. Amit C on April 7th, 2009

    Hey Parand,

    I would say another angle would be more useful, why the choice\decision between the two, some (maybe many) of us do not know\care about reaction to a decision…

    Amit

  2. remi on April 8th, 2009

    Agreed, I found this blog post because I was googling to find out about Twitter’s switch to Scala, why they did it, how they’re liking it, etc.

    I’m mostly curious because I’ve been seeing the Fail Whale a lot lately, which I haven’t seen in *ages* :/

  3. remi on April 8th, 2009

    that said, the link you posted is a very interesting read!

    http://unlimitednovelty.com/2009/04/twitter-blaming-ruby-for-their-mistakes.html

  4. Parand on April 8th, 2009

    There’s been a lot written about the Twitter/Scala switch, and frankly I’m neither a Ruby nor a Scala expert, so I’m not well qualified to opine. From a first principle argument I’d say it is very likely that a reasonable solution can be created in Ruby, or found off the shelf, but it is also the case that certain tools and languages – in this case Scala – do lend them particularly well to certain domains – in this case messaging.

    Did I manage to say nothing?

    My main gripe is with the Ruby folks reacting to every defection and less than deifying word. Some people are going to like something else more than Ruby, so quit getting upset about it, learn from it, and continue making Ruby great. You can’t please everyone all the time, and the defensiveness is starting to sound like insecurity to me.

  5. Amit C on April 8th, 2009

    It is definitely a interesting programming topic to bring to others attention, that itself is worth it.

    It was a minor comment, please ignore it.

    Remi, Thanks for putting up the link again. I read it, pretty interesting from a historical POV. It ends up saying, there are many MQ systems now and the followup mentions Scala for type-safety among other things.

  6. Láďa on April 17th, 2009

    Important thing is that Twitter is replacing Ruby code on backend only. Frontend is still written in Rails and Twitter folks said that Rails and Scala play nice together, see http://www.artima.com/scalazine/articles/twitter_on_scala.html
    Ruby is failing badly when it comes to backend and I think that every experienced Ruby programmer knows this. Rest of Ruby crowd will have to find out :-)

  7. [...] system motivating a move to Scala. I mean we’ve heard this before and the whole thing got a lot of Ruby panties in a bundle when it first came [...]

  8. Harry on October 10th, 2009

    maybe it’s because scala is much demonstrably faster than ruby AND can interoperate with Java code because it compiles to java bytecode on the JVM? Get over it. RoR is SOOOO 2005.

  9. vaxorcist on March 9th, 2010

    as we all know all too well… any failures related to an ROR project is due to insufficiently following the ROR ideology to the hilt…

    Sorry, I must apologize, I’ve worked with a few ROR ideologues… PTSD…

    but seriously… I’d love to know specifics, probably more specifics than the lawyers will let them tell….

Leave a Reply