読者です 読者をやめる 読者になる 読者になる

uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかFregeとかJavaとか -

G*Workshop「Groovy2.0の新機能」を発表してきました

groovy grails jggug

10/26金曜日は、JGGUG G*Workshopでした。
五十嵐さんのJavaOne報告、杉浦さんのVert.xなど盛り沢山で、G*としては大変盛況でした。参加者各位および発表者の皆さまにおかれましては、ありがとうございました。
以下は@kimukou2628さんによるまとめです。ありがとう!

わたしも、以下を話してみました。


発表内容について、少し補足させてください。

  • 非静的Groovyの大規模な既存コードベースがあるとき、これらを@CompileStatic, @TypeCheckedを使って静的Groovyに「移行」するのは確かにたいへんなのですが、新規にゼロから静的Groovyコードを開発する場合、ほとんど問題がありません。最初から意識して静的に書き、適宜都度修正するのは負担になりません。
  • 実施したベンチマークはいわゆるマイクロベンチマークです。実システムでの実行速度の参考にはほとんどなりません。別途ご確認を。
  • emacs+Flymake-groovyでの、静的型チェックのデモする予定だったのですが、時間がなかったのでできませんでした。以下、スクリーンショットを貼っておきます。
f:id:uehaj:20121028124234p:image 動的Groovyのコード。
f:id:uehaj:20121028124233p:image @CompileStatic(もしくは@TypeChecked)
を指定すると静的型エラーの
行が赤くなる(カーソルをエラー行に
のせるか、C-c eでエラー
メッセージ表示)。
f:id:uehaj:20121028124232p:image 修正(toUppperCase→toUpperCase)。
f:id:uehaj:20121028124231p:image 修正(返り値をintからStringに)。

なお、flymakeでは静的型エラーかどうかに関わりなく、コンパイルエラーをエラー表示しているだけなので、上は何の不思議でもありません。でも、なんか不思議。
では良い静的Groovyライフを。