JavaOne 2012 San Francisco 3日目
JavaOneサンフランシスコ3日目は、早くもバテ気味で、興味のあったJava8に導入される新しい日付APIであるJSR-310(Project_ThreeTen?)のセッションなどがあったにも関わらず、朝イチはパスしてしまいました。(といっても、JSR-310のセッションがあったことには、夕方になってから気づいたのですが。セッションのタイトル名だけでは、内容がわかりづらいものもあるので要注意です;;) 昼から2つだけ出席したので、その内容をまとめます。
- [CON3469] Design Patterns in Groovy
collection.each {it}
を使えばGroovyらしくなるよ、for文のインデックス(int iとか)を使いたいなら
collection.eachWithIndex{e, i -> "index:$i value:$e"}
ってのがあるよ、長さが4のものだけループで回したいなら
collection.find {it.length() == 4}
ってできるよ、と、Javaユーザのハートを鷲掴む(?)セッションでした。
-
- 他にも、metaClassへのメソッド追加(例えばjava.lang.Stringに好きなメソッドを追加できるような機能)や、methodMissing(存在しないメソッドを呼んだ時の挙動を定義できる機能)の例などを紹介していました。
- 改めて、Groovyの強力さを実感し、ミッションクリティカルじゃないところは全部Groovyで書きたいな、と思わせる内容でした。
- [CON3470] Scala Tricks
- Scala書いた事ないのに、Groovyでテンション上がって、同じJVM言語だからという理由だけのノリで参加してしまいました。文法も知らず、関数型の概念もよくわかっていなかったので、当然の事ながら内容もさっぱりでした><
- ただ、Javaにはないタプルとトレイトという新しい概念があって、特にトレイトを使うと、あるクラスに何かの機能をちょこっと付け加えたい時にJavaだと継承などを使って新しいクラスを作る必要があるところが、もっと気軽にクラス拡張できるんだ、ということを、例を交えて解説してありました。(Scalaをちょっと知ってる人からすると、当たり前か…)
- 今までScalaは難しいというイメージしかなかったので、そうじゃなく素敵な部分があるんだ、やってみたい、と思えたことが大きかったです。
なお、2つのセッションとも同じスピーカー(インド系?のおじさん)で、非常に早口だったのですが、言いたい事はきっちり言いつつ時間内にまとめ、さらに例え話が面白いために会場は笑いが絶えませんでした。ソースコードは事前に公開されていたのですが(JavaOne, San Francisco, September, 2012と書かれている2つ)、その完成系コードに至るまでの道のりをすべてライブコーディングで説明してくれて、一種のプレゼンの完成系を見た気がしました。今後、参考にしたいと思います。
ところで、今日はバテバテで、まったくセッションを聞きに行かなかったのですが、夜にお誘いがあってお茶していたら、11/9のJJUGでLTをさせてもらえることになりました!!まったりもしてられなくなりました!明日・明後日ラスト2日、走り切りたいと思います!