路線変更部門より。
ある Anonymous Coward 曰く、
Twitter は Ruby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 本家 /. 記事) 。
Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドやインフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は並列プロセスの処理に長けている点が Twitter に向いており、また言語としてのフレキシビリティも開発にとっては魅力とのこと。短所としては、機能も多く、シンタックスも見慣れた感じでは無いため習得が簡単ではないことと、新しい言語であるため実績がまだ少ないことだという。それでもTwitterでは多くのテストケースを成功させており、Scala の方がメリットが多いと考えているようだ。
開発チームはフロントエンドは Ruby on Rails のまま、年内には API リクエストの一連の処理を Scala で行えるようにしたいとしている。
Erlangは? (スコア:2, 興味深い)
http://www.atmarkit.co.jp/news/200704/27/erlang.html
twitterのコアはErlangらしいので、関数型言語を採用するならErlangが自然なのに何故Scalaなのだろう、というのが疑問です。
両言語にそれほど知悉しているわけでもないのでアレですが、Scalaに機能優位があったりするのでしょうか。
識者の意見を伺いたいです。
コメントを書く
Re:Erlangは? (スコア:3, 興味深い)
の記事に twitter を作った Evan Williams とブロガーの小飼弾との対談が書かれています。
> 弾:「Erlangを使っているって聞いたけど。」
> Evan:「Erlang?ハア?」
> 弾:「Erlang言語をメッセージングサーバに使っているって聞きましたが、本当?」
> Evan:「ああ、そのErlang。ノー。Rails以外のサーバはあるけど、すべてRubyベース。」
> 弾:「全部?」
> Evan:「今は全部・・・だと思う。将来はともかく、現在は。」
う~ん、本人もtwitterの中身についてよくわかっていないらしいから、
どうもErlangが実際に使われているのかいないのかわかりませんね。
そもそもErlangを使っているなんてウワサはどこから出てきたんだろう?
コメントを書く
親コメント
識者じゃないけどわかる (スコア:2, すばらしい洞察)
コメントを書く
親コメント
Re:Erlangは? (スコア:2, 興味深い)
Erlangについて少しだけ触れている記事がありました。
http://highscalability.com/scaling-twitter-making-twitter-10000-percen... [highscalability.com]
詳細は分かりませんが、試しに使ってみたけど、ドキュメントが少なくてサーバを安定稼働させるところまで行かなかった……というところでしょうか。
コメントを書く
親コメント
日付 (スコア:1)
Technology Reviewの記事、4/1のものですが、大丈夫ですよね?
コメントを書く
Re:日付 (スコア:2, 参考になる)
http://www.artima.com/scalazine/articles/twitter_on_scala.html [artima.com]
こっちなどは3日になっていますし、web 2.0 expoで発表したようなので、大丈夫じゃないでしょうか。
http://www.slideshare.net/al3x/why-scala-for-web-20 [slideshare.net]
逆に、COBOLで組むとか、IBMのメインフレームで再構築くらいじゃないと、4/1では面白くないです。
コメントを書く
親コメント
このブログ記事によると (スコア:1, 参考になる)
コメントを書く