Software Secret Weapons™
|
Twitter, LinkedIn to migrate to Scala… Should you? by Pavel Simakov on 2009-06-05 18:07:48 under Lambda, view comments |
|||
Just came back from the LinkedIn Tech Talk on Scala. It is very cool for the LinkedIn to organize this type of event for a hundred people or so. I hope they have this more often with both the interesting speakers and the cool topics. The food was great as well... The talk, or rather moderated question/answer panel, was about Scala. My first experience with Scala was about 18 month ago. At that time there was not a single book published. Today I felt that Scala is quite mature. There are several books out. Several large sites are trying to run on Scala with the positive gains in the levels of abstraction, concurrency control and the positive operational experience. It started with Martin Odersky, who gave a status report on Scala. He mentioned, on the developer productivity front, that people report 2:1 savings in the number of lines of code in Scala vs. Java. He further reaffirmed that the languages directly addressing the concurrent programming have to have large functional component to them, because it is easy to scale when you have a good grasp on immutable state and sideeffects. My personal favorites - the named and the default arguments are now in Scala 2.8. Sounds like Scala is at use in Twitter, according to the second panelist and Twitter's systems architect Nick Kallen. Nick tried not to disclose anything confidential about the algorithmic details. This made it difficult for me to really understand how they use Scala at Twitter except the general direction that they do use Scala to reimplement Twitter's Social Graph Services. When asked why Scala got chosen after all, he pragmatically mentioned that in addition to the language niceties, Scala actually runs of JVM, which has superior runtime capabilities and management interfaces. Martin also mentioned that they did originally implemented Scala on top of Java because reimplementing enterprise strength garbage collection may be a much more serious undertaking, then writing a new language. There was a question why not use Haskell for the Twitter, but it was decisively put to rest by Nick. The third panelist, David Pollak of Lift, was a nice addition to the mix. He did not seem like a purist or a language geek and maybe because of that :) he had the least talk time. He did mention one of the interactive game sites running on Scala/Lift and it sounded like the performance held up quite well. He kinda implied that if Twitter used Lift it would not have any performance problems. Funny... Having the moderator from LinkedIn, some of the angles the questions were phrased and the whole fact that LinkedIn organized the talk on Scala is interesting. Why would Twitter and LinkedIn, both having the large social graphs in the core of their systems, both choose to embrace Scala? Do they really believe that language like Scala brings sufficiently more scalable abstraction mechanism to improve social graph computations? Don't know... But don't forget that Scala is not the only solution for large scale concurrency. I just attended a Hadoop talk on Java One... What if Hadoop Pig proves to be effective SQL-like language that automatically optimizes and runs on the Map/Reduce infrastructure? Would not this work as well? It might, unless the upper management is offended by the Pig Latin technology and choose sexy name Scala for the aesthetic reasons. What about you? What's your take on Scala and systems vs. languages? Comment (1) Leave a comment |
|
|||
|
Copyright © 2004-2010 by Pavel Simakov any conclusions, recommendations, ideas, thoughts or the source code presented on this site are my own and do not reflect a official opinion of my current or past employers, partners or clients |
|
Comment by Igor — June 6, 2009 @ 11:39 am
I’m not that much knowledgeable of both, but it does not look like it’s Scala vs. Pig really.