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.

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:
Don't forget: the Twitter team are programming-language fashion victims (they built a production service in Rails ffs) and Scala is trendy ;)
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...
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