8 April 2009
Twitter moving to Scala, language wars reignited
Language wars can be fun. I learn much from the pompous-yet-informed missiles that get launched during a good language war, and Twitter's announcement [ via Slashdot ] of their move from Ruby to Scala is no exception. (Also see Joel Spolsky's absurdist attacks on Ruby for being untested while at the same time praising his own company's home-grown language.)
The Slashdot summary links to several good reports/interviews on the change and the comment thread includes further insights. Twitter's homegrown message queue, Starling, is brought up as an embarrassingly flawed implementation. I'd read about Starling around the time it came out and was intrigued that it was written in Ruby. Perhaps I shouldn't have been. Another link suggests that (1) the Twitter devs are blaming Ruby for their own bad code and (2) the Twitter architect is coming out with a book on Scala, so his opinion is suspect. Regarding (1), you should always assume the worst covering-their-ass intentions when a developer starts griping about a technology. Technology-blamers are usually notoriously poor workmen. Regarding (2), well that's just specious logic. Someone who's done detailed research on a language would have greater authority to recommend it, so if he was interested enough to write a book it's likely he found reason to use the language in a large-scale project. Also, he's going to be eating his own dog food, so increased book sales (on a fringe language) would be poor compensation for having to manage an unwieldy code base.
Whatever the outcome, academic theories on GC and nullable objects are merely interesting once the language is put to the test on a system that has the traffic that Twitter does. Should be interesting to watch the battles that continue.
- Some thoughts on Ruby after finishing a week (minus one day) of training posted by sstrader on 15 December 2011 at 8:59:30 PM
- Links on the singleton pattern posted by sstrader on 9 December 2011 at 9:19:50 AM
- Phonebot posted by sstrader on 29 October 2011 at 6:37:05 PM
- The labeled break in Java posted by sstrader on 4 September 2011 at 11:27:56 AM
- Recent code project posted by sstrader on 1 July 2011 at 7:33:06 PM