Scala Days 2日目 (6/17)

さて、大変間が空いてしまい、既に賞味期限切れになってしまったかもしれませんが(笑)、二日目のレポートを届けたいと思います。ご容赦ください。

Scala Days 2日目は、Erik Meijer氏による『Contravariance is the Dual of Covariance | Observable is the Dual of Iterable』と題した発表で幕を明けました。タイトルから、GoFのObserverパターンのObservableとIteratorパターンにおけるIterableの関係についての発表が聴けると期待したのですが、発表はタイトルと全く異なっていました。

発表は終止、try-finallyの表示的意味論の話に終止し、これはこれで一つの発表としてはアリだったかもしれないですが…(プログラムの意味を形式的に定義する手法の一つに、表示的意味論というものがあります。他に、公理的意味論、操作的意味論という方法が知られています)。どうも、当初はタイトル通りの発表を行う予定だったが、何らかのトラブルで発表内容を変えたようです。これは少々残念でした。また、一つの発表としても、参加者のほとんどが予備知識を持っていないと思われる表示的意味論の記号を駆使した説明が続くなど、参加者の方が置いてきぼりになっている印象がありました。

Scala Daysの2日目は、Keynoteを除いてパラレルセッションでしたので、同時間帯の発表の中から一つを選ぶ必要がありました。

次に聴いた発表は、『Catalyst: A Functional Query Optimizer for Spark and Shark』でした。近年、Scala界隈では、いわゆるビッグデータを扱うためのScalaで書かれたSparkというフレームワークが流行っています。Sparkの特徴として、インメモリ型の特殊なキャッシュを持っていることで、同じデータセットを繰り返して使う場合にHadoopより数倍〜数十倍の性能が出ることが挙げられます(詳細についてはこちらの発表スライドをご覧ください)。SharkはSpark上のデータに対するSQLライクなクエリ言語で、Hadoopに対するHiveと類似しています(互換性を持っているとされています)。この発表では、Spark SQLという、クエリをSQLライクに書いて自動的に最適化するためのライブラリについて発表されました。TCP-DSではSharkより良い成績が出ており、性能もなかなかのもののようです。

次に聴講した発表は、『Good to Gread: IntelliJ IDEA and Scala』です。Scala Daysでは毎年のように発表されるIntelliJ IDEA Scala Pluginについての発表です。普段から私はIntelliJ IDEAを使ってコードを書いているのであまり新鮮味はありませんでしたが、開発が順調に進んでいることが伺える発表でした。

ビュッフェ形式のランチを挟んで次に聴いたセッションは『Learn you an sbt for fun and profit!』でした。これは、日本語訳『すごいHaskell楽しく学ぼう!』(原題『Lear you a Haskell for Great Good!』)という日本では知る人ぞ知る書籍のタイトルのパロディです。基本的なsbtの使い方から始まって、Setting[T], Task[T]といったsbtにとって重要なコンセプト、sbt pluginの作り方まで及ぶ濃いセッションでした。最終的にライブコーディングでsbt pluginを作ったのは圧巻でした。

その次に聴いたのは『Scala code quality assurance - SCCT』でした。これは、現在のプロジェクトでSCCT(Scalaのコードカバレッジツール。sbtのプラグインとして提供)を利用しているため、日本を出発する前から聴こうと思っていたセッションでした。気になっていたのは、最近人気が出て来ているscoverageと、最近あまり更新がないようにみえるscctとの関係でした。当日私が質問したところ、scoverageは、scctがあまりメンテナンスされていないためforkした新しいプロジェクトで、基本的にscctと互換性があるとのことでした。これから新しいScalaプロジェクトでコードカバレッジツールを使うときはscoverageを使うと良いかもしれません(Jenkinsとの連携に若干の問題があるように見受けられますが、既に解決されているかもしれません)。


この日は大変残念なことに、ここで私が体調を崩してしまったためホテルに戻ることにしました。この日は、懇親会がアレキサンダープラッツ駅近くのWeekend Clubの屋上で行われたようなのですが、参加できなかったのは大変残念でした。

ネタ:Scala Movie 2.11 Official Trailer