Thursday, April 02, 2009

Sayonara Ruby, Bonjour Scala

The Register reports that the public ruby-shaped road accident that has been continuing twitter outages has finally led to the ejection of ruby in favour of functional JVM-hosted scala. The real winner here is the JVM and access to pre-existing Java API's. Must start looking into Scala - the Java Posse are always going on about how much they like it and being hosted on the JVM is a big win for them, as it clearly is for Twitter.

Twitter doesn't talk about why moving to JRuby was not an option for them (which is JVM hosted), but presumably the functional aspects of Scale w.r.t concurrency. Functional languages are extremely suited to this at a programming level -  one of the reasons behind choosing Erlang for facebook chat. Plus Scala's type-inference is a real boon for programmers used to the static-typing support in IDE's.

So time to get a book and have a look-see.


3 Comments:

At 1:00 PM, Blogger Justin Mason said...

Don't forget: the Twitter team are programming-language fashion victims (they built a production service in Rails ffs) and Scala is trendy ;)

 
At 1:02 PM, Blogger Justin Mason said...

btw they're talking about this:

http://github.com/robey/kestrel/tree/master

actually, Kestrel is looking a lot cooler these days. nice to see on-disk persistence...

 
At 1:26 PM, Blogger Fergal said...

Yeah- I think they were kind of the anti-poster-child for RoR.

The kestrel thing is interesting. Ultimately everyone needs a work-distribution queue-ing system to stop overloading individual services. Unfortunately that currently means everyone is building their *own* work-distribution queue-ing system.

I like the hack of having an "unordered" queue ontop of mem-cache. Since maintaining an ordered centralised queue creates an overload point.

 

Post a Comment

<< Home