Scala Meetup Tokyo

twitter上で「エルシャダイエルシャダイ」ってながれてくるけど、「何それ興味ないんだけど(´・ω・`)」っていう今日この頃です。

scala meetup tokyoなるイベントに参加してきました。

eclipsescalaプラグインを作っている@milessabinさんが来日されていて、そのeclipseプラグインについての、こんな事やあんな事聴けちゃうっていうイベントです。


まずは、水島さんによる、日本のscalaコミュニティ、日本で出版されてるscalaの本などについての、簡単な紹介のオープニングトーク

そして、Miles Sabinさんによる、eclipseプラグインを中心としたお話。まぁもちろん英語です。自分の英語力では、2〜3割しか意味分かりませんでしたorz。
でも通訳してくださる方がいて、だいぶ助かりました。

発表内容は、スライドもなかったし、かなりうろ覚えですが・・・忘れないうちに書き出しておきます。

  • もともとOdersky先生がつくってた、scalaの前身となる言語*1つかってた。
  • その言語の開発は終了しちゃったけど、scalaっていう新しい言語つくるよって聞いて興味持って・・・
  • 普通大学とかで開発されるような言語って、実用で使われることって殆ど無いけど、scalaはその点うんちゃらかんちゃらw*2
  • まだscalaが全然知られてないかなり前に、電力会社?でscala使おうって提案したけど却下された
  • でもいまはもう十分使えるレベル
  • 言語が普及するには(IDEなどの)ツールが重要
  • Javaのような問題だらけの言語が普及したのもIDEのおかげ?*3

IDEscalaサポートについては、

  • eclipse、NetBean、IntelliJそれぞれ、別々に作業してるから、今後共通化できる部分があるならば、共通化したい?
  • アーキテクチャ的に、IntelliJの場合は(Javaに依存してるから?)殆ど最初からつくらないといけない
  • その点、eclipse、NetBeanの場合のアプローチは大体似てる。
  • eclipseの場合、既存のJDTの中に組み込まないといけない
  • JDT自体は、もちろんJava用につくられていて、そのような使い方想定されてないから、組み込み方が難しい
  • それやるのにAspectJ使ったり
  • クラス入れ替えるどころか、(結局は実行時に)バイナリいじってJDT騙したり?w*4
  • そんなAspectJつかうやり方とかグロテスクだよね
  • でも最近は、JDT側でそういうJVMの他の言語のために対応するための動きも出てきているとか
  • 今後リファクタリング機能強化する予定
  • scalaのソースで変数名とかclass名を変更したら、Javaのソース上のものも一緒にかわるとか
  • 一気にJavaのものを、全部scalaに置き換えるのは、負担が大きい
  • だから、Javaのものを一部だけscalaで書けるようにとかしたい
  • そのへんの"Javascalaの相互運用性"に力入れてる
  • 既存のJavaのプロジェクトに、簡単にscalaのサポートの機能いれられるとかいう機能

後半は、eclipseつかっての実際のデモンストレーションもありました。

最後は、水島さんのPEGEXの話とか。その後、懇親会もあって、その話も書きたいんですが、ちょっと時間ないので、またあとで書く予定。

*1:名前忘れた。Odersky先生が作ってた言語って何種類かあった気がする。pizzaか? 指摘してもらった pizzaじゃなくてfunnelか

*2:すいませんうろ覚え・・・(´・ω・`) 

*3:おぉJavaをdisるのか?っていうw

*4:うまく説明できない、この辺なんとなくわかったようなわからないような・・・