CommitterではないけどOpenJDK Committer's Workshop(OCW)に参加しています。
OpenJDK Committers’ Workshop
初日はこちら。
OpenJDK Committer's Workshop 2019 - Day 1(JVMLS Day 4) - きしだのHatena
Unconference
今日もアンカンファレンス形式で行います。というStuart Marksさんの話。
ということで、トピックを持ってる人は書き出します。
それぞれ自分のトピックを説明。
そして投票します。
RMI De-evolution気になるけど人気なかった・・・
Graal JIT Adoption
Graal JITについてのディスカッション。Twitterの人など、JITをやってる人が集まっていました。
Graalに興味がある人っていう質問に手をあげる人はたくさんいたのだけど、Graalを使ってる人っていう質問ではTwitterの人が手をあげただけでした。
話題としては
- libgraalがプロファイルを汚染しないとか
- GraalVM CEとEEの違いはなんなの? -> EEの機能は完全に分離してるからOpenJDKとしては忘れて。みんなが使ってたらOpenJDK/CEにポートもあるのかも?
- Twitterの人のGraalロードマップ(完全にぼーっとして聞き逃してもったいない)
- Native Imageのデバッグ情報ってどうなってるの? -> SubstrateVMでは?
- C2とGraalを同時に使えるか -> 技術的には可能。C2の性能がよいけどGraalはEscape Analisysが強い
- C2はDeprecateできる? -> 難しそう
- LLVMバックエンドがどうのこうの
という感じで、いろんな話が行われておもしろかったです。C2をどうするかという話が結構時間をとってた気がする。
Preview Featured: Experiences + Enhancements
Alex BuckleyさんとBrian GoetzさんによるPreview機能についての話
話題としては3つ
IDEなどのツールへの影響というのは、たとえばValhallaのように独立したEAとして出ると対応する必要だけどPreviewとしてリリースに入ると対応が必要であることを言っています。
IDEだとswitch式の構文対応やリファクタリングがありますね。また、JDK12では値を返すのがbreakだったけどJDK13ではyieldになります。 JDKでは値を返すbreakは不要になりますが、IDEでは保持する必要があります。
そのことについて、JetBrainsの人が、サポート大変だけどがんばる!と言ってました。
フィードバックという点では、たとえばLambdaは機能ごとのプレビューリリースが出ていましたが、試用する人が少なかったということです。
ただ、それでpreviewとして入れてフィードバックがあったのかという点では、期待していたより少ないということです。preview使ってる人という質問にはたくさんの手があがりましたが、フィードバックした?という質問にだれも手をあげず苦笑。
6ヶ月ごとのリリースでは短いんではという指摘もありました。
APIへの影響というのは、たとえばText Blocks (Preview)ではstripIndentなどのメソッドが入りますが、これはDeprecatedではありますが--enable-preview
をつけなくても使えます。
Preview用のアノテーションはどうだろうという話がでていました。
また、もしPreview機能導入によって動きがかわるメソッドがあるとき、どうやってフラグするかという話も出ました。
Portola/Alpine
PortolaプロジェクトをやっているMikaelさんによるAlpine対応の話
PortolaプロジェクトはJDKをAlpine Linuxに対応するためのプロジェクトですが、Cライブラリがglibcではなくmuslになっていて対応が必要です。
「This is my hobby project」と言ってたのでメーリングリストを確認してみたら、Mikaelさんがひとりでやってる感じですね。
BellSoftの人が、Alpineを使ったDockerイメージをリリースしているので、少し話していました。
How to promote Java new great features to people outside this conference
Vladimir Kozlovさんによる、Javaの素敵機能をどう広めるかという話
JDK8からJDK11で、156のJEPと4961の機能改善が入ったのをどう広めるかという話ですね。
多くがJDK9でのモジュールシステムがらみな気がするけど。
リリースノートが見にくいんではという話も出てた気がする。
Finish
これでOpenJDK Committer's Workshopは終了。
6ヶ月後にブリュッセルで会いましょう、ということでした。FOSDEM 2020かな。
お昼ごはんは出るので食べる。
終わってから、ついでにNetwork Circleという名前のついている外周を歩いて帰って終了。おつかれさまでした!