Scala Days 2014 に参加してきました (1)


Scala というプログラミング言語がこの世に誕生してちょうど 10年。
その Scala にまつわる世界最大のカンファレンスといえば Scala Days!

今年は 2014年6月16日〜18日の期間、ドイツはベルリンで開催され
私も参加者の一人として現地の熱気を生で体感してきました。

本ブログでも、その雰囲気を少しだけお伝えしようと思います。

blog1

1日目


実は私は今回初めてヨーロッパを訪問したのですが、ベルリンの気候は北海道と同じくらい。
昼間は半袖のTシャツ一枚で平気ですが、夜1になると何か羽織るものがないと肌寒いです。

そんなわけで街並みの美しさや、改札のない鉄道網に感動しつつ会場の Kosmos Berlin へ。

blog2

この日は前夜祭といった趣で、講演は Martin Odersky 先生のキーノートだけ。
ドイツ名物のビールも振る舞われて、既に盛り上がっています。
そして夕方 16:30、いよいよ開幕です。

blog3

800人の世界中のScala愛好者が一堂に会しました。

連絡事項など

まずは Josh (Joshua Suereth @jsurerth)が壇上に立ち挨拶と連絡事項について話がありました。
内容は以下のとおり。

  • 挨拶とこの日の段取りについて
  • Scala Days App のデモ

<

p>Android/iPhone 向けのアプリの紹介。
セッションのスケジュールを確認したり、参加者全員の名札に印刷されたQRコードをスキャンしてコンタクト情報を共有することができたりします。

  • セッション投票

セッションが終わると扉の出入口にいるスタッフがスマートフォンをかざしています。
そこには、悪い・普通・良いの三段階のアイコンが表示されており、参加者はタッチするだけで
評価を投票することができました。

  • Phil Bagwell Award

私は知識がなかったのですが、Scala 草創期からの貢献者 Phil Bagwell氏 にちなんだ Scala コミュニティ主体の賞のようです。
受賞者は Kojo というプログラミング言語の作者、Lalit Pant さん。

blog4

キーノート: Martin Odersky

そして、いよいよ Martin Odersky 先生が入場。

スライドは SFScala で発表されたもの と同じだったようです。

blog5

タイトルは、Scala – The Simple Parts。要旨は以下になります。

  • Scala が誕生して10年

多くの開発者によって大きな成長を遂げ、現在は『スケーラブル』な言語になっている

  • 『スケーラブル』の定義

言語自体が進化できること: DSLによる特殊化 – sbt, scalaz, specs, akka など
伸張自在であること: システムの規模に関わらずでも同じように使えること、小規模から大規模なシステムへスムーズに移行できること

オブジェクト指向 + 関数型 という特性が、これを可能にしている。
でも、本当に正しく使えているのか?

  • Scala は Modular 言語でもある

基礎的なパーツ(通常一つの機能だけを持つ)の組み合わせで複雑なシステムを表現できる。
関数やオブジェクトが必ずしも1個のモジュールに対応するとは限らない。

  • シンプル is not 簡単

小さな部品の組み合わせを効果的に行うための具体的なコーディングパターンを紹介。
compose – match – group – recurse – abstract – aggregate – mutate

一つの式で複雑な処理をせず、小さな関数にして意味のある名前を付けよう
暗黙的引数(implicit parameter)を使って抽象化しよう、など。

  • 静的な型チェックの目的

Clojure / Scala / Haskell / Idris / Coq の5つを比較。
正解はなく、トレードオフの関係にあるとのこと。

  • ではモジュールとは何か

自由に組み合わせ可能な小さなパーツ。色々な姿で表現される。
関数 / オブジェクト / クラス / アクター / ストリーム変換 / マイクロサービス

参加者との質疑応答の中で、Scala の将来についての話も出ましたが
言及されたのは Java8 への追従ということのみ。他はアイデアの検討段階だそうで、Scala 3 の登場はまだ先になりそうです。

ワールドカップ ストリーミング観戦

この日は奇しくもサッカーW杯ブラジル大会でドイツ代表の初戦が行われた日。
相手はポルトガルと好カードです。
18:00 にキックオフとなった試合は会場の壁に映し出されると同時に、ビール片手の多くのエンジニアの耳目を集めていました。

blog6

結果は4対0とドイツの大勝だったこともあり、会場は大変盛り上がりました。

つづく

  1. 日没が21時過ぎなので夜は短い []