Java 9+ (Java 9以降の総称) の適用状況について、JCP (Java Community Process ) EC (Executive Committee)が、6月中旬から7月中旬にかけて、アンケート調査を行いました。
調査結果
回答数は約750で、結果は以下の通りです。(Q1とQ2は複数選択なので、足すと100%超えます)
Q1: 開発環境でどのバージョンのJavaを使用していますか?
Q2: 運用環境でどのバージョンのJavaを使用していますか?
Q3: Java 9+ を使わない理由は?
自由回答で、440のコメント。
Q4: Auto-Module-Nameを使用していますか?
Q5: module-info.javaを使用していますか?
回答分析
Q1/Q2
Q1とQ2の違いは、開発環境と運用環境の違いですが、結果はおおよそ同じ傾向です。「現在使用中」の結果から、Java 9/10の適用は、1割前後にとどまっています。また、「使用しない」の結果から、Java 9/10への移行は3割くらいにとどまることになります。Java 11を「使用しない」も4割近くあり、当面は、Java 8の使用が主流になると考えられます。
Q3
Q3では、Java 9+を使用しない理由(自由記述)を聞いています。理由を大別すると、次の2つになります。
(A) LTS(長期サポート)でない
(B) JPMS(Jigsaw)の否定
(A)は、Java 9/10を使用しない理由にはなりますが、Q1/Q2で、Java 11を「使用しない」という回答も少なからずあり、その理由は(B)の方だと考えられます。
(B)は、さらに、以下に分類されます。
(B-1) 使用しているライブラリがJPMS対応していない
(B-2) 使用しているアプリケーションサーバがJPMS対応していない
(B-3) 非互換が大きい
(B-4) 複雑、難しい、必要性がない
Q4/Q5
Q4/Q5は、Java 9+を使用している人への質問ですが、Java 9+を使ってはいるが、JPMSを活用している人は少数にとどまっていると考えられます。