Twitterは、GitHubにてプログラミング言語Scalaを学習するチュートリアルサイトを公開しました。このサイトは実践的なScalaプログラマを養成すべくTwitter内で作られたようです。TwitterはフロントエンドにRuby on Railsを使っていることで有名ですが、バックエンドはJVMベースのシステムが多く、特にScalaで書かれたシステムが増えてきています。
チュートリアルの内容は、大半はREPL(Read-Eval-Print Loop、対話形式の実行環境)上で即座に試せるようにできています。範囲も変数や関数といった基本的なものからコレクション、パターンマッチング、並行処理など幅広く扱っています。また、ビルドツールである「Simple Build Tool」やBDD(Behavior Driven Development、振舞駆動開発)ライブラリの「Specs」、Twitterが開発したRPC(Remote Procedure Call、遠隔手続き呼び出し)システム「Finagle」の使い方などにも触れているのが特徴的です。
ScalaはTwitterだけでなくLinkedInやFourSquareなど多くの有名企業にて利用されています。少なくともTwitterに関しては、Finagle、FlockDBやGizzardなど多くのScalaで書かれたプロダクトを持ち、またこのようなコンテンツを公開する点から、今後もScalaに注力していくことでしょう。ちなみに、TwitterがフロントエンドもJRubyなどのJVMベースにしない理由についてですが、JSONやmemcachedなどのサードパーティライブラリのパフォーマンスがうまく出ないため、現在でもCRubyを利用しているのだそうです。
URL:http://twitter.github.com/scala_school/