kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

Scala関西Summit 2017に参加してきました!

実は今年が初参加なのですが、応募した発表、「プレースホルダ構文完全解説」が選考を通過したので、大阪まで行ってきました。

前日に、会社まで泊まりのための着替えなどを持っていき、会社が終わったら直行で新幹線で東京へ。@kawachi さんたちが手配してくださった、airbnbの宿に泊まりました。着いたのが22時過ぎで、集合写真

に載れなかったのがちょっぴり残念でした。

会場は、天満駅近くの天満研修センターというところで、なんと今年は4トラック同時進行!

私は全体的に疲れ気味で、控室で休んでいた時間が結構あったため、全部は聴けていないのですが、いくつか印象に残った点について。

  • エスカレーターで右に立つ

イベントとは関係ないのですが、新大阪駅から宿泊施設に向かっているとき、いつもの習慣で左側に立っていると、皆右側に立っていて、あれ…?と思いました。

  • エフ・コードの技術顧問就任について

会場でお会いした方にこの件について、色々たずねられました。おめでとうございます、と言っていただけることが多かったですが、自分としては、これから自分がエフ・コードさんに価値を提供していくことができるか、考えていかなければなあと思うところです。

  • null消しゴム

エフ・コードさんのブースで配布されていたやつで、

こういうものです。事前に、がくぞさん、麻植さんらと話し合ったときに、何がインパクトがあるかということで、この案が最終的に採用されたのですが、無事、当日に間に合ったので良かったです。インパクトもあったようです。

最初からいきなり関数型プログラミングばりばりでいくのではなく、初心者がもっととっつきやすいように、(害のない範囲で)手続き型プログラミングも認めていこうよ、という話だと理解しました。特に、メソッドローカルに閉じている限り、var/whileやミュータブルコレクションを使って構わないという主張には、私も賛成するところです。最近のScala界隈は、too functionalな面があると感じていて、自分も、こういう取り組みをしていけたらと思わせられる良い発表でした。

フィボナッチサービスという例題を使って、jvisualvmでボトルネックを発見する方法を解説した発表です。jvisualvmについては既に使ったことがあり、新しみはあまりなかったのですが、発表のわかりやすさという点で学ぶべきところが多かったです。

scalafmtを使ったことは(ほぼ)なかったので、そのアグレッシヴさ、というか、設定項目の多さに仰天しました。高橋さんとしては、どっちも十分使えるので好みで良いということでしたが、個人的には、sbtでコンパイル時に自動フォーマットできるscalariformの方が好みかなというところです。また、Scala Style Guideについて

  • 標準化されていない
  • スタイルが未定義な部分がある
  • 矛盾した部分がある

という指摘があり、なるほどと思いました。scalariformは手書きのパーザを使っているらしいという情報を得たので、ちょっとパーザみてみようかと思いました(構文解析屋としての興味)。

なお、私は、最初に書いたように「プレースホルダ構文完全解説」という発表を行いました。発表を聴きに来てくださった方はだいたい30~40名くら居たのですが、正直、うまく説明できたのかあまり自信がありません。元々、テーマ的にマニアックである上に、理解するにはコンパイラやパーザの知識が必要になる、という点でかなり聴く人を選ぶものだったので、全員に伝わるように発表するのが難しかったのかもしれません。一部の方には面白かったと言っていただけたのは嬉しかったです。

新幹線であらかじめ帰りの指定席を予約していたこともあり、懇親会には参加せずに離脱。後ほどTwitterを眺めてみると懇親会の楽しそうな様子が伝わってきて、ちょっぴり後悔しました。

主催者の、Scala関西ユーザーグループの方々、楽しい一日でした。ありがとうございました!来年は、もうちょっと万人受けするネタを考えようと思っています…